ubuntu22.04编译安装nginx

  • 2025-04-18 12:19:45
  • 运维
  • 21
  • shevechco

之前在centos上编译过,目前基本都转到ubuntu22.04了,所以在这个版本上进行编译部署并记录下来。
首先我们更新系统apt包,并安装编译时需要的依赖包

sudo apt update
sudo apt install libpcre2-dev zlib1g zlib1g-dev openssl libssl-dev build-essential -y

下载nginx,目前最新版本是nginx-1.26.3,我们编译安装目录约定在/usr/local/nginx目录下,编译前我们先切换到root账户

sudo -s

输入密码切换到root账户,然后进入部署目录,下载nginx源码包

cd /usr/local/src
wget https://nginx.org/download/nginx-1.26.3.tar.gz

创建编译目标目录,然后解压nginx源码包

mkdir -p /usr/local/nginx
tar -zxvf nginx-1.26.3.tar.gz

添加nginx服务管理账户

groupadd www
useradd -g www www -s /sbin/nologin

进入源码包目录

cd nginx-1.26.3
#开始编译nginx
./configure --prefix=/usr/local/nginx --without-http_memcached_module --user=www --group=www --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-pcre
make && make install 

编译完成以后站写nginx服务配置管理服务

vi /usr/lib/systemd/system/nginxd.service
[Unit]
Description=nginx project
After=nginxd.service

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
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

保存退出以后,给开机服务脚本754权限

chmod 754 /usr/lib/systemd/system/nginxd.service

重新赋权下nginx部署目录,给www用户所有权

chown -R www:www /usr/local/nginx/

启动nginx

systemctl start nginxd.service

查看nginx状态

systemctl status nginxd.service

202504181257098924446707.png

如果启动报错重新加载下daemon

systemctl daemon-reload
systemctl enable nginxd.service

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.sulao.cn/post/1028

相关推荐