Ubuntu 源代码编译安装 Nginx
建立nginx用户和用户组
sudo groupadd nginx
sudo useradd nginx -g nginx -s /sbin/nologin -M
在线安装依赖
sudo apt -y install gcc make openssl libssl-dev libpcre3 libpcre3-dev libgd-dev vim wget net-tools
下载并解压nginx源代码
wget http://nginx.org/download/nginx-1.24.0.tar.gz
tar -zxvf nginx-1.24.0.tar.gz
cd nginx-1.24.0
预编译源代码
sudo ./configure --prefix=/usr/local/nginx \
--user=nginx --group=nginx \
--with-http_stub_status_module --with-http_ssl_module \
--with-http_realip_module --with-http_gzip_static_module \
--with-file-aio --with-http_realip_module
编译源代码
sudo make -j4
安装nginx
sudo make -j4 install
查看nginx版本号
sudo /usr/local/nginx/sbin/nginx -v
检查nginx配置文件是否正确
sudo /usr/local/nginx/sbin/nginx -t
启动nginx
sudo /usr/local/nginx/sbin/nginx
重新载入配置文件
sudo /usr/local/nginx/sbin/nginx -s reload
快速关闭 Nginx
sudo /usr/local/nginx/sbin/nginx -s stop
关闭Nginx
sudo /usr/local/nginx/sbin/nginx -s quit
编写启动脚本
cd /usr/lib/systemd/system/
sudo vim nginx.service
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载服务文件
sudo systemctl daemon-reload
sudo systemctl start|stop|reload|restart|status nginx.service
开机自启:
sudo systemctl enable nginx.service
关闭开机自启:
sudo systemctl disable nginx.service