源码需安装依赖库:gcc环境、pcre、zlib、openssl

  • ​gcc​​:nginx 编译时依赖 gcc 环境
  • ​pcre​​:nginx 支持重写功能
  • ​zlib​​:zlib 库提供了很多压缩和解压缩的方式,nginx 使用 zlib 对 http 包内容进行 gzip 压缩
  • ​openssl​​: 安全套接字层密码库,用于通信加密,如不需要https访问,可不安装
  1. 安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool pcre-devel openssl openssl-devel
  1. 源码下载包地址:https://nginx.org/en/download.html
  2. 解压
tar -zvxf nginx-1.20.2.tar.gz
  1. 进入安装包目录
cd  nginx-1.20.2
  1. 检查平台环境,编译、安装
./confiure  #检查平台环境
make #编译
make install #安装
  1. 检查版本型号
/usr/local/nginx/sbin/nginx -v
  1. 启动nginx
/usr/local/nginx/sbin/nginx
  1. 其他命令
/usr/local/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s reopen # 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx

遇到的问题:

  • 部署的路径没有权限访问

切换至root用户或

非Root用户启动

  1. 增加权限
chmod 755 nginx
chmod u+s nginx
  1. 修改配置
vi /usr/local/nginx/conf/nginx.conf
user nobody;    //取消注释
error_log /home/user/ nginx /log/error.log;
pid /home/user/nginx /nginx.pid;

PS:在 linux 下,只有以 root 启动的进程才能监听小于 1024 的端口。nginx 如果设置了监听 80 或 443 端口,则一定得以 root 帐号启动。如果只是测试,则可将端口设成 8080 之类大于 1024 的端口。