nginx的编译安装
1、安装必要的依赖
apt upgrade
apt install build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev -y
2、前往官网下载你需要的版本并解压
wget http://nginx.org/download/nginx-1.26.1.tar.gz
tar -xvzf nginx-1.26.1.tar.gz
3、编译安装
cd nginx-1.26.1
./configure \
--prefix=/etc/nginx \
--user=www \
--group=www \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--with-file-aio \
--with-threads \
--with-compat \
--with-http_sub_module
make && make install
4、创建nginx使用的用户及用户组
groupadd www
useradd -g www -s /sbin/nologin www
5、验证是否安装成功
/etc/nginx/sbin/nginx -v
如果出现类似nginx version: nginx/1.26.1
的提示,说明已经安装成功
6、创建软连接
ln -s /etc/nginx/sbin/nginx /usr/local/bin/nginx
7、设置开机启动
cat >/etc/systemd/system/nginx.service <<EOF
[Unit]
Description=Nginx Service
Documentation="http://nginx.org/en/docs/"
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/etc/nginx/nginx.pid
ExecStartPre=/etc/nginx/sbin/nginx -t
ExecStart=/etc/nginx/sbin/nginx
ExecReload=/etc/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
LimitNOFILE=200000
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable nginx
systemctl start nginx
systemctl status nginx
下面解释一下configure
中各项参数的作用
--prefix=/etc/nginx
:- 设置Nginx的安装目录。所有Nginx的文件将会安装到这个目录中,包括可执行文件、配置文件和日志文件。
--user=www
:- 指定Nginx进程运行的用户。
www
通常是Web服务器进程使用的用户,确保Nginx进程不会以root用户身份运行,从而提高安全性。
- 指定Nginx进程运行的用户。
--group=www
:- 指定Nginx进程运行的用户组。`www通常是Web服务器进程使用的组。
--with-http_ssl_module
:- 启用HTTP SSL模块,用于支持HTTPS协议。该模块允许Nginx处理SSL/TLS加密。
--with-http_v2_module
:- 启用HTTP/2模块,使Nginx支持HTTP/2协议。HTTP/2提供了更高效的传输性能和并发能力。
--with-http_realip_module
:- 启用HTTP Real IP模块,该模块可以改变客户端IP地址为代理服务器前面的真实IP地址。对于使用反向代理的场景很有用。
--with-http_gzip_static_module
:- 启用HTTP Gzip Static模块,使Nginx可以直接发送预压缩的gzip文件,减少CPU的开销和提高传输效率。
--with-http_stub_status_module
:- 启用HTTP Stub Status模块,该模块提供简洁的Nginx状态信息,包括活动连接数、请求数等,有助于监控Nginx的运行状态。
--with-file-aio
:- 启用文件异步I/O支持,能提高Nginx在处理大量并发文件请求时的性能。
--with-threads
:- 启用线程池支持,可以让Nginx在处理请求时使用线程,从而提高性能和响应速度,尤其是对文件I/O操作。
--with-compat
:- 启用兼容模式,以便Nginx可以加载与当前版本不完全匹配的动态模块。这在升级Nginx时特别有用,可以减少因模块不兼容导致的问题。
--with-http_sub_module
- 允许Nginx对响应内容进行替换
评论