Nginx 安装配置教程(Linux通用版)

本文最后更新于:2025年4月18日

Nginx 是一个高性能的 开源 Web 服务器反向代理服务器,采用 事件驱动、异步非阻塞架构,擅长处理高并发请求。它不仅可以托管静态网站,还能作为 负载均衡器 分发流量到多个后端服务,并通过 HTTP 缓存SSL/TLS 终止 提升性能与安全性。Nginx 以 低内存占用、高稳定性 著称,广泛应用于现代 Web 架构,如微服务网关、API 代理和 CDN 加速等。

以下是 Linux 环境下 Nginx 安装配置教程:

一、准备操作

1. 安装Linux虚拟机:如需在虚拟机安装Linux系统,请参考以下教程:

CentOS Ubuntu Debian
点我查看 点我查看 点我查看

2. 这里我使用的是 Electerm 远程连接 Linux 服务器,有需要安装的小伙伴根据自己电脑的操作系统查看安装教程:

Windows macOS
点我查看 点我查看

3. 鉴于访问Github时国内网络速度可能较慢,建议安装Watt Tookit来加速下载。请根据您的操作系统查看安装配置教程:

Windows macOS
点我查看 点我查看

4. 根据自己的 Linux 操作系统,安装如下工具:

  • CentOS:
1
yum -y install gcc make wget vim perl
  • Ubuntu/Debian:
1
apt -y install gcc g++ make wget vim perl ufw

5. 根据自己的 Linux 操作系统,开放80端口

  • CentOS
1
2
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
  • Ubuntu/Debian
1
ufw allow 80/tcp

1.1 下载并安装 Pcre

1. 点击右侧链接进入 Pcre 官网下载页面:点我查看

2. 下载pcre-8.45.tar.gz安装包:

3. 使用 Electerm 远程连接 Linux 服务器,连接成功后,点击左上角 SFTP 将安装包远程传输到 Linux 服务器上:

4. 将 Pcre 安装包解压到/usr/local目录下。执行如下命令:

1
tar -zxvf pcre-8.45.tar.gz -C /usr/local

5. 切换到解压后的目录。执行如下命令:

1
cd /usr/local/pcre-8.45

6. 将 Pcre 安装在/usr/local/pcre,执行如下命令进行配置:

1
./configure --prefix=/usr/local/pcre

7. 配置完成后,执行如下命令编译安装 Pcre:

1
make && make install

8. 等待一段时间后,Pcre 安装完成,切换到/usr/local/pcre目录下,可以看到编译后的文件:

1
2
cd /usr/local/pcre
ls

9. 切换到家目录,接下来我们安装 Zlib:

1
cd ~

1.2 下载并安装 Zlib

1. 点击右侧连接进入 Zlib 官网下载地址:点我查看

2. 向下找到 Zlib 下载链接,这里我们下载.tar.gz格式的安装包,按照下图所示操作:

3. 使用 Electerm 远程连接 Linux 服务器,连接成功后,点击左上角 SFTP 将安装包远程传输到 Linux 服务器上:

4. 将 Zlib 安装包解压到/usr/local目录下。执行如下命令:

1
tar -zxvf zlib-1.3.1.tar.gz -C /usr/local

5. 切换到解压后的目录。执行如下命令:

1
cd /usr/local/zlib-1.3.1

6. 将 Zlib 安装在/usr/local/zlib目录下,执行如下命令进行配置:

1
./configure --prefix=/usr/local/zlib

7. 编译安装 Zlib,执行如下命令:

1
make && make install

8. 等待约1分钟以后,Zlib 编译安装完成,切换到/usr/local/zlib目录下,可以看到编译后的文件:

1
2
cd /usr/local/zlib
ls

9. 切换到家目录,接下来我们安装 OpenSSL:

1
cd ~

1.3 下载并安装 OpenSSL

1. 点击右侧链接进入 OpenSSL 官网下载页面:点我查看

2. 这里我下载的是3.5版本的 OpenSSL,点击下载:

3. 使用 Electerm 远程连接 Linux 服务器,连接成功后,点击左上角 SFTP 将安装包远程传输到 Linux 服务器上:

4. 将 OpenSSL 安装包解压到/usr/local目录下。执行如下命令:

1
tar -zxvf openssl-3.5.0.tar.gz -C /usr/local

5. 切换到解压后的目录。执行如下命令:

1
cd /usr/local/openssl-3.5.0/

6. 将 OpenSSL 安装在/usr/local/openssl目录下,执行如下命令进行配置:

1
./Configure --prefix=/usr/local/openssl

7. 编译安装 OpenSSL,执行如下命令:

1
make && make install

8. 等待一段时间以后,OpenSSL 编译安装完成,切换到/usr/local/openssl目录下,可以看到编译后的文件:

1
2
cd /usr/local/openssl
ls

9. 切换到家目录,接下来我们安装 Nginx:

1
cd ~

二、下载 Nginx 安装包

1. 打开 Nginx 官方网址:点我查看

2. 这里我要下载的是 1.20.2 版本的 Nginx。按照下图操作,复制下载链接:

3. 使用wget命令,将下载链接粘贴到命令行,下载 Nginx 安装包,效果图如下:

等待一段时间后,Nginx 安装包下载完成。接下来我们就可以安装 Nginx 了。

三、安装并启动 Nginx

1. 将下载好的 Nginx 解压到/usr/local目录下。执行如下命令:

1
tar -zxvf nginx-1.20.2.tar.gz -C /usr/local

2. 切换到/usr/local/nginx-1.20.2目录。执行如下命令:

1
cd /usr/local/nginx-1.20.2

3. 将 OpenSSL 安装在/usr/local/nginx目录下,并添加 Pcre、Zlib 和 OpenSSL 库配置,执行如下命令进行配置:

1
./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.45/ --with-zlib=/usr/local/zlib-1.3.1/ --with-openssl=/usr/local/openssl-3.5.0/

出现下图所示情况就说明 Nginx 配置成功:

4. 使用如下命令编译安装 Nginx:

1
make && make install

安装过程较慢,请耐心等待。

5. 切换到/usr/local/nginx目录,执行ls命令,如果出现下图文件及其目录,就说明 Nginx 安装成功:

1
2
cd /usr/local/nginx
ls

6. 在此目录下,执行如下命令可以查看 Nginx 安装版本信息:

1
sbin/nginx -V

这里可以看到,我安装的是1.20.2版本的 Nginx:

7. 切换到/usr/local/nginx/sbin目录下:

1
cd /usr/local/nginx/sbin

8. 以下是 Nginx 常用命令:

  • 启动 Nginx:
1
./nginx

打开本地电脑浏览器,在上方搜索框中输入当前虚拟机的IP地址(这里我的IP地址是192.168.40.100,查询IP地址可以使用ip addr命令),如果可以看到下面的 Nginx 欢迎界面,就说明 Nginx 成功启动:

9. 以下是 Nginx 其他常用命令:

  • 快速停止 Nginx:
1
./nginx -s stop
  • 优雅关闭 Nginx(在退出前完成已经接受的连接请求):
1
./nginx -s quit
  • 重新加载配置:
1
./nginx -s reload

四、配置Nginx为系统服务

将Nginx设置为系统服务,可以方便地使用系统工具(如systemctl命令)来管理Nginx的启动、停止和重启等操作,而无需手动执行命令。此外,这种方式还支持服务的状态查询及日志管理,有助于监控服务运行状态和快速响应可能出现的问题。

1. 创建服务脚本:

1
vim /usr/lib/systemd/system/nginx.service

2. 复制如下脚本内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
[Unit]
Description=nginx - web server
After=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 -c /usr/local/nginx/conf/nginx.conf
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 stop
ExecQuit=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target

3. 按I键进入编辑模式,按ShiftInsert键将上一步复制的代码,粘贴到此处,效果图如下:

4. 按Esc键退出编辑模式,在左下角输入:wq保存并退出。

5. 重新加载系统服务,执行如下命令:

1
systemctl daemon-reload

6. 启动服务:

1
systemctl start nginx.service

7. 打开本地电脑浏览器,在上方搜索框中输入当前虚拟机的IP地址(这里我的IP地址是192.168.40.100,查询IP地址可以使用ip addr命令),如果可以看到下面的 Nginx 欢迎界面,就说明 Nginx 成功启动:

8. 以下是 Nginx 服务相关命令:

  • 查看 Nginx 服务状态:
1
systemctl status nginx
  • 停止 Nginx 服务:
1
systemctl stop nginx
  • 重启 Nginx 服务
1
systemctl restart nginx
  • Nginx 开机自启动:
1
systemctl enable nginx
  • 禁用 Nginx 开机自启动
1
systemctl disable nginx

Nginx 安装配置教程(Linux通用版)
https://www.icode504.com/posts/114.html
作者
iCode504
发布于
2025年4月16日
许可协议