在今天的互联网世界中,Nginx已经成为了一款非常流行的Web服务器和反向代理服务器,它可以高效地处理大量并发连接,提高Web应用程序的性能和稳定性。在本篇文章中,我们将介绍如何通过源码安装Nginx,并且掌握常用的Nginx命令和配置文件的使用,以便更好地管理和部署Web应用程序。
通过两种方式安装nginx
通过命令安装nginx
命令一键安装nginx:
安装必要的依赖项
1 2
| sudo apt-get update sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
|
安装nginx
查看运行状态

查看版本信息

输入IP就可以访问了
卸载nginx
1
| apt-get --purge autoremove nginx
|
通过源码安装nginx
安装必要的依赖项
1 2 3
| sudo apt-get update
sudo apt-get install build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev
|
1 2 3
| wget https://nginx.org/download/nginx-1.22.1.tar.gz
tar -zxvf nginx-1.22.1.tar.gz
|
进入目录,查看参数
1 2 3
| cd nginx-1.22.1
./configure --help
|

按需要自行添加,这里我添加了一个ssl模块
1
| ./configure --prefix=/usr/local/nginx --with-http_ssl_module
|

编译并安装:
进入目录启动nginx
1 2 3
| cd /usr/local/nginx/sbin
./nginx
|
配置环境变量
将nginx配置到当前用户环境变量中:
打开终端并输入以下命令,找到Nginx可执行文件的路径:
记下Nginx可执行文件的路径。例如,它可能位于/usr/local/nginx/sbin/nginx
。
打开.bashrc
文件,并添加以下行:
1 2 3
| sudo vim .bashrc # 根目录
export PATH="$PATH:/usr/local/nginx/sbin"
|
保存.bashrc
文件并执行以下命令使更改生效:
需要注意的是,.bashrc
文件是用户级别的文件,只对当前用户生效。如果您需要设置系统范围的环境变量或命令别名,应该使用 /etc/profile
文件或其他系统范围的配置文件。
二选一(不推荐)
添加到全局的环境变量配置文件
1 2 3 4
| sudo vim /etc/profile # 添加下面代码 export NGINX_HOME=/usr/local/nginx export PATH=$PATH:$NGINX_HOME/sbin
|
重载profile文件
首先,export NGINX_HOME=/usr/local/nginx
将Nginx的安装路径设置为/usr/local/nginx
。这个路径可以根据您的实际安装路径进行修改。
接下来,export PATH=$PATH:$NGINX_HOME/sbin
将Nginx可执行文件的路径添加到环境变量$PATH
中,使得系统可以在任何位置找到该可执行文件。这里的$PATH
是环境变量,它包含了一组目录路径,用于指示系统在哪些位置查找可执行文件。$NGINX_HOME/sbin
是Nginx可执行文件的路径,它会被添加到$PATH
变量的末尾。
这样做的好处是,您不必在每次使用Nginx时都输入完整的可执行文件路径。相反,您可以在终端中直接运行Nginx命令,系统会在环境变量中查找Nginx可执行文件的路径并执行它。
需要注意的是,这些命令是针对当前用户的。如果您希望在系统上所有用户中添加Nginx的路径,可以将这些命令添加到系统的环境变量文件中,例如/etc/profile
或/etc/environment
。(来自Chat GPT解释)
创建服务文件
创建nginx.service服务文件
检查 Nginx 服务文件是否存在
1
| ls /etc/systemd/system/nginx.service
|

创建nginx.service文件
1 2 3 4
| # 切换root用户 sudo su root # 进入 /etc/systemd/system 目录 cd /etc/systemd/system
|
创建Nginx服务文件
nginx.service内容
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| [Unit] Description=Nginx HTTP Server After=network.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
[Install] WantedBy=multi-user.target
|
[Unit]
:包含关于服务的基本信息,比如服务名称、描述和启动顺序等。[Service]
:指定服务的类型、PID 文件位置和服务的执行命令等。[Install]
:指定服务应该在哪些 systemd 目标中启动。
保存文件并关闭编辑器,按 CTRL + O
并按 ENTER
保存更改,退出 CTRL
+ X
- 重新加载 systemd 守护进程,使用命令
sudo systemctl daemon-reload
。 - 重新启动 Nginx 服务,使用命令
sudo systemctl restart nginx
。 - 运行
systemctl status nginx
命令以确认服务是否已经正确启动。

nginx常用命令
- 启动nginx服务:
sudo systemctl start nginx
- 停止nginx服务:
sudo systemctl stop nginx
- 重启nginx服务:
sudo systemctl restart nginx
- 查看nginx状态:
sudo systemctl status nginx
- 重新加载nginx配置文件:
sudo nginx -s reload
- 测试nginx配置文件语法是否正确:
sudo nginx -t
- 查看nginx版本号:
nginx -v
- 查看nginx编译时的配置参数:
nginx -V
- 在nginx中开启一个新的worker进程:
sudo nginx -s reopen
- 停止接收新的请求,等待所有请求处理完成后退出:
sudo nginx -s quit
nginx的配置文件路径为:/etc/nginx/nginx.conf
。
nginx的默认文档根目录是/usr/share/nginx/html/
,该目录下的文件和目录可以直接被访问。
nginx日志文件路径为/var/log/nginx
,包含access.log和error.log两个文件。
在配置nginx之前,需要先确保nginx已经安装,可以使用sudo apt install nginx
命令安装nginx。默认情况下,nginx安装后会自动启动,可以使用sudo systemctl status nginx
命令查看nginx的状态。
在进行nginx配置时,可以先备份原有的nginx.conf文件,然后修改新的配置文件,然后使用sudo nginx -t
命令测试配置文件的语法是否正确,如果正确就使用sudo systemctl reload nginx
命令重新加载配置文件。
nginx的详细使用教程和配置文件语法可以参考nginx官方文档。