侧边栏壁纸
博主头像
faneok博主等级

重剑无锋,大巧不工

  • 累计撰写 33 篇文章
  • 累计创建 17 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

nginx

faneok
2024-09-09 / 0 评论 / 0 点赞 / 61 阅读 / 4049 字

常用命令

systemctl

sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl reload nginx
sudo systemctl status nginx

service

#启动服务
service nginx start
#停止服务
service nginx stop
# 重新加载
sudo service nginx reload

安装文件

#停止服务
nginx -s quit
#停止服务
nginx -s stop
#检查配置是否正确
nginx -t
#重新加载配置
nginx -s reload
# 启动nginx
sudo nginx 
# 查看nginx版本
nginx -v
# 查看nginx版本,编译选项和模块
nginx -V

下载&编译安装

# 更新系统
sudo apt update
# 更新依赖包
sudo apt install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
# 下载安装包
wget http://nginx.org/download/nginx-1.20.1.tar.gz
# 解压
tar -zxvf nginx-1.20.1.tar.gz
# 进入目录 
cd nginx-1.20.1
# 配置 编译 安装
./configure --prefix=/data/app/nginx
make
sudo make install
# 启动
sudo /usr/local/nginx/sbin/nginx

注册服务

编辑文件/etc/systemd/system/nginx.service

Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/data/app/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/data/app/nginx/sbin/nginx -s reload
ExecStop=/data/app/nginx/sbin/nginx -s stop
[Install]
WantedBy=multi-user.target

配置示例

upstream halo {
  server 127.0.0.1:8090;
}
server {
  listen 80;
  listen [::]:80;
  server_name www.yourdomain.com;
  client_max_body_size 1024m;
  location / {
    proxy_pass http://halo;
    proxy_set_header HOST $host;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

错误处理

checking for C compiler ... not found

  • 错误解释

这个错误表明配置脚本无法找到C语言编译器。配置脚本通常是用来安装软件时检查系统是否有必要的依赖和工具,如果没有找到C编译器,它会报这个错误。

  • 错误处理

#对于Debian/Ubuntu系统,运行:
sudo apt-get install build-essential

#对于Red Hat/CentOS系统,运行:
sudo yum groupinstall 'Development Tools'

./configure: error: the HTTP rewrite module requires the PCRE library.

错误解释

这个错误表明你在尝试编译安装一个软件(如nginx),并且在配置阶段使用了HTTP rewrite模块,这个模块依赖于PCRE(Perl Compatible Regular Expressions)库。PCRE库是用于提供正则表达式支持的。如果系统中没有安装PCRE库,就会出现这个错误。

错误处理

yum install pcre pcre-devel

./configure: error: the HTTP gzip module requires the zlib library.

错误解释

这个错误表明你在尝试编译安装一个软件包(通常是web服务器如nginx或apache的一个模块),而该软件包需要使用HTTP gzip模块,该模块依赖于zlib库。zlib库用于压缩和解压缩数据,是处理web内容压缩传输的标准工具。

错误处理

yum install zlib-devel

0

评论区