编译安装nginx

安装必要的软件包,使用以下命令安装编译nginx所需的软件包:
centos:
sudo yum install epel-release
sudo yum install gcc gcc-c++ pcre-devel zlib-devel openssl-devel

debian:
sudo apt-get update
sudo apt-get install build-essential
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g-dev
sudo apt-get install libssl-dev


下载nginx源码包,可以到官网(http://nginx.org/)下载最新版本的源码包。

解压源码包,使用tar命令解压:tar -xzvf nginx-x.xx.tar.gz(x.xx为版本号)。

进入nginx源码目录,运行以下命令进行编译:
cd nginx-x.xx
./configure
make
make install

如果想自定义nginx的安装目录,可以在configure命令后添加--prefix=/path/to/nginx,例如:./configure --prefix=/usr/local/nginx。

安装完成后,可以使用以下命令启动nginx:
sudo /usr/local/nginx/sbin/nginx


如果想停止nginx,可以使用以下命令:
sudo /usr/local/nginx/sbin/nginx -s stop


如果想重新加载nginx的配置文件,可以使用以下命令:
sudo /usr/local/nginx/sbin/nginx -s reload


注意:在启动nginx前,需要确保80端口没有被占用。若被占用,可以使用以下命令查看占用端口的进程并杀掉该进程:
sudo lsof -i :80
sudo kill -9 <PID>


添加命令环境变量:
tail -3 ~/.bashrc
export PATH=$PATH:/usr/local/nginx/sbin

source   ~/.bashrc


加入system管理:
cat /usr/lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=multi-user.target

其中,PIDFile表示nginx进程的pid文件路径,ExecStartPre表示启动nginx前先检查配置文件是否正确,PrivateTmp表示在/tmp目录下创建私有的临时文件夹,提高安全性。

更新systemd服务配置,使用以下命令更新systemd服务配置
systemctl daemon-reload

接下来就可以使用system管理nginx了
posted @ 2023-06-12 10:52  安生丶  阅读(66)  评论(0编辑  收藏  举报