Loading...

文章背景图

Nginx源码安装

2026-03-13
0
-
- 分钟
|

Nginx在通常情况下可以直接使aptdnf 安装,但在需要特定版本或自定义模块时,源码编译是更好的选择。

通过源码安装首先要先安装相关依赖

centos

sudo yum -y install pcre-devel zlib-devel openssl-devel

Debian

sudo update
apt -y install libpcre3-dev zlib1g-dev libssl-dev

pcre库主要进行正则表达式的解析,zlib主要进行数据压缩,ssl主要进行数据的加密和相关证书的处理

然后我们需要创建一个www的用户,使用新用户可以保证Nginx获取最小特权,如果使用apt或yum安装过的话需要先卸载掉,安装过系统会自动创建一个www-data用户,可以不用创建新的用户,直接将下面的user和group改为www-data即可

sudo useradd -r -s /sbin/nologin www

然后我们直接解压Nginx压缩包

sudo ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module 

参数

作用

--prefix

指定安装位置

--user

work进程所属用户

--group

work进程所属用户组

--with-http_ssl_module

使Nginx支持https

--with-http_stub_status_module

基本状态信息显示 查看请求数、连接数等

--with-http_realip_module

定义客户端地址和端口为header头信息 常用于反向代理后的真实IP获取

make -j$(nproc) && sudo  make install

-j可以指定使用CPU的数量,$(nproc)可以获取最大的CPU的数量

此时就可以进行测试启动了,

sudo /usr/local/nginx/sbin/nginx
ps aux |grep nginx

可以检测是否安装完成,安装完成后可以配置一个环境变量来简化操作

echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> /etc/profile
source /etc/profile
nginx

最后可以通过注册一个Nginx服务来实现system管理Nginx,首先我们先关掉目前运行的Nginx进程ps aux |grep nginx 获取pid,然后kill掉

直接将下面写入/etc/systemd/system/nginx.service 即可

[Unit]
Description=Nginx Web Server
After=network.target
  
[Service]
Type=forking

ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

最后

systemctl daemon-reload  #重新加载

systemctl enable nginx --now

systemctl status nginx

上一篇 ssl证书配置
下一篇 没有了
评论交流

文章目录