Nginx 是一款轻量级的 HTTP 服务器,时常用于 服务端的反向代理 和负载均衡,本次安装Nginx,是在 Debian发行版本的Linux上安装,如果是其它Linux发行版,需要注意 编译安装时,需要自行安装:gcc、pcre、zlib 以及 openssl 依赖库。另外,如果你觉得本文的安装方法 过于技术型 其实,也可以尝试 宝塔面板的一键操作。
1、环境准备
安装gcc编译器、正则库、zlib库、OpenSSL库

apt install -y build-essential libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev wget tar nano 

添加www用户并添加到www用户组

adduser www
usermod -aG www www

2、下载Nginx源码
进入Nginx官网:http://nginx.org/en/download.html 下载最新的 Stable version 稳定版

# 下载源码
wget http://nginx.org/download/nginx-1.20.2.tar.gz
# 解压源码
tar -xf nginx-1.20.2.tar.gz
# 给权并进入源代码内
chmod -R 755 nginx-1.20.2 && cd nginx-1.20.2

3、配置编译 一般编译Nginx时候,选择的参数是:

./configure \
--prefix=/etc/nginx \
--user=www \
--group=www \
--sbin-path=/etc/nginx/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/nginx.lock \
--http-client-body-temp-path=/var/cache/nginx/client_temp \
--http-proxy-temp-path=/var/cache/nginx/proxy_temp \
--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \
--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp \
--http-scgi-temp-path=/var/cache/nginx/scgi_temp \
--with-file-aio \
--with-threads \
--with-http_addition_module \
--with-http_auth_request_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_mp4_module \
--with-http_random_index_module \
--with-http_realip_module \
--with-http_secure_link_module \
--with-http_slice_module \
--with-http_ssl_module \
--with-http_stub_status_module \
--with-http_sub_module \
--with-http_v2_module \
--with-mail \
--with-mail_ssl_module \
--with-stream \
--with-stream_realip_module \
--with-stream_ssl_module \
--with-stream_ssl_preread_module

对以上参数的部分解释:

--prefix:Nginx主要安装路径,后续Nginx子目录依照这个变量展开
--user:设置Nginx进程启动时,所属的用户
--group:设置Nginx进程启动时,所属的用户组
参数可以参考官方Nginx文档:http://nginx.org/en/docs/configure.html

如果没有问题,会显示相关信息:

Configuration summary
+ using threads
+ using system PCRE library
+ using system OpenSSL library
+ using system zlib library

nginx path prefix: "/etc/nginx"
nginx binary file: "/etc/nginx/sbin/nginx"
nginx modules path: "/etc/nginx/modules"
nginx configuration prefix: "/etc/nginx"
nginx configuration file: "/etc/nginx/nginx.conf"
nginx pid file: "/var/run/nginx.pid"
nginx error log file: "/var/log/nginx/error.log"
nginx http access log file: "/var/log/nginx/access.log"
nginx http client request body temporary files: "/var/cache/nginx/client_temp"
nginx http proxy temporary files: "/var/cache/nginx/proxy_temp"
nginx http fastcgi temporary files: "/var/cache/nginx/fastcgi_temp"
nginx http uwsgi temporary files: "/var/cache/nginx/uwsgi_temp"
nginx http scgi temporary files: "/var/cache/nginx/scgi_temp"

3、编译、安装

make && make install

4、设置开机启动

nano /usr/lib/systemd/system/nginx.service

粘贴一下内容:

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/etc/nginx/sbin/nginx
ExecReload=/etc/nginx/sbin/nginx -s reload
ExecStop=/etc/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

加载默认配置,注册服务,启动 Nginx

# 加载默认配置
systemctl daemon-reload
# 创建Nginx缓存
mkdir /var/cache/nginx
# 注册服务
systemctl status nginx.service
# 启动 Nginx
systemctl start nginx

此时访问你的IP能看到默认的欢迎页面 Welcome to nginx! 即说明配置正确且正常启动了
如果你是按本文编译,那么,需要注意。

# 安装的路径
/etc/nginx
# 默认配置文件
/etc/nginx/nginx.conf 

5、Nginx 常用命令

# Nginx 配置重载
systemctl reload nginx
# 启动 Nginx 服务
systemctl start nginx
# 重启 Nginx 服务
systemctl restart nginx
# 停止 Nginx服务
systemctl stop nginx

6、卸载

# 停止Nginx服务
systemctl stop nginx
# 卸载 nginx
apt remove nginx
# 删除Nginx服务
rm -rf /usr/lib/systemd/system/nginx.service
# 删除Nginx文件
rm -rf /etc/nginx
rm -rf /var/run/nginx.pid
rm -rf /var/log/nginx
rm -rf /var/cache/nginx
# 重载配置
systemctl daemon-reload
# 删除Nginx编译文件
rm -rf nginx
最后修改:2024 年 03 月 01 日
如果觉得我的文章对你有用,请随意赞赏