Nginx(发音为"engine x")是一个高性能的HTTP和反向代理服务器,可以用于静态资源的快速传输和负载均衡。
步骤1:检查Nginx服务是否已启动
ps -ef|grep nginx
如果输出结果中没有显示类似于截图中的nginx进程,则表示Nginx服务未启动。
出现这个则 nginx 启动了服务
步骤2:关闭已运行的Nginx服务(如果存在)
如果 nginx 启动了服务,则需要先关闭 nginx 服务
kill 进程id
将上述命令中的进程id替换为实际的进程ID。如图:
步骤3:删除与Nginx相关的文件夹
查看所有与 nginx 有关的文件夹
find / -name nginx
步骤4:卸载Nginx及其依赖
如果系统中已经安装了 Nginx,我们需要先将其卸载。使用以下命令可以删除与 Nginx 相关的文件夹:
rm -rf file /usr/local/nginx*
卸载Nginx相关的依赖
yum remove nginx
如果未找到任何相关文件夹,则说明 Nginx 已成功卸载。
find / -name nginx
步骤 5:安装 Nginx 所需的插件
在安装 Nginx 之前,我们需要先安装一些必要的插件。使用以下命令安装这些插件:
yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel
若安装时提醒:
-bash: yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel: 未找到命令
解决方案:关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
关闭防火墙后再次安装
步骤6:验证C++环境和其他依赖是否安装
查看 C++ 环境是否安装(查看版本号)
gcc -v
查看 zlib 是否安装
cat /usr/lib64/pkgconfig/zlib.pc
查看 pcre 是否安装(查版本号)
pcre-config --version
步骤 7:下载和安装 Nginx
前往官网获取下载链接 : https://nginx.org/en/download.html
进入/usr/local目录
cd /usr/local/
通过 wget 下载 nginx 安装包
wget https://nginx.org/download/nginx-1.26.2.tar.gz
使用以下命令解压下载的安装包
tar xvf nginx-1.26.0.tar.gz
进入解压后的目录
cd nginx-1.26.0
执行以下命令配置Nginx:
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
解释一下这些参数的含义:
–prefix=/usr/local/nginx:指定NGINX的安装路径为/usr/local/nginx。
–with-http_stub_status_module:启用HTTP Stub Status模块,该模块提供了一些简单的统计信息和状态监控。
–with-http_ssl_module:启用HTTP SSL模块,使NGINX支持通过HTTPS进行加密通信。
然后,执行以下命令编译Nginx:
make
最后,执行以下命令安装Nginx:
make install
进入sbin目录下
cd ../nginx/sbin
步骤 8:启动 Nginx 服务
安装完成后,我们启动 Nginx 服务。
./nginx
输入http://ip/ (ip改为服务器地址),查看nginx是否已启动。
如果需要关闭 Nginx 服务,可以使用以下命令:
./nginx -s stop
步骤9:配置环境变量和添加到系统路径
以上是在特定目录下执行nginx,如果在其他目录中,需要需要手动输入完整路径来执行nginx命令,为了方便访问,将nginx添加到PATH变量
我们将编辑/etc/profile文件,并在其中添加必要的环境变量信息。
vim /etc/profile
这条命令将打开/etc/profile文件以进行编辑,按下i键进入编辑模式。在文件末尾添加以下内容:
export PATH=$PATH:/usr/local/nginx/sbin
按下Esc键退出编辑模式,并输入:wq保存并退出vim编辑器。
最后,执行以下命令来重新加载刚才修改的环境变量配置:
source /etc/profile
查看 nginx 版本
nginx -version
可能存在的问题
云服务器有防火墙时,需要在云服务器控制台安全组下配置放开 80 端口。
虚拟机有防火墙时,需要开放 80 使用的端口
firewall-cmd --query-port=80/tcp # 查看端口状态, no表示未开启
firewall-cmd --add-port=80/tcp --permanent # 永久开放端口
systemctl restart firewalld # 重启防火墙