nginx 源码编译安装
下载Nginx安装包,Nginx 官网下载,并解压
cd /usr/local/src
wget http://nginx.org/download/nginx-1.21.5.tar.gz
tar -zxvf nginx-1.21.5.tar.gz
配置ssl模块,openssl源码位置(如果不需要用 openssl 源码编译可以不用管)
cd nginx-1.21.5
./configure --prefix=/usr/local/nginx --with-openssl=/home/ng/openssl-1.1.1m --with-http_ssl_module
使用 make 命令编译(使用make install会重新安装nginx),此时当前目录会出现 objs 文件夹。
用新的 nginx 文件覆盖当前的 nginx 文件。
cp ./objs/nginx /usr/local/nginx/sbin
查看安装的模块:
cd /usr/local/nginx/sbin
./nginx -V
nginx version: nginx/1.21.5
built by gcc 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)
built with openssl 1.1.1m 14 Dec 2021
TLS SNI support enabled
configure arguments: --prefix-/usr/local/nginx --with-openssl=/home/ng/openssl-1.1.1m --with-http_ssl_module
配置nginx.conf 过程中遇到的问题
问题1
nginx: [emerg] "server" directive is not allowed here in /etc/nginx/nginx.conf:64
sever应该在http下面:
正确的结构应该是这样:
http {
server {
}
}
问题2
执行sudo nginx -s reload报错
nginx: [error] open() "/run/nginx.pid" failed (2: No such file or directory)
执行
sudo nginx -c /etc/nginx/nginx.conf