一、安装nginx依赖
#安装gcc
yum install gcc-c++
#安装PCRE pcre-devel
yum install -y pcre pcre-devel
#安装zlib
yum install -y zlib zlib-devel
#安装Open SSL
yum install -y openssl openssl-devel
二、下载并解压nginx安装包
1.下载nginx安装包
wget http://nginx.org/download/nginx-1.23.0.tar.gz
你也可以到网站选择你所需要的版本
下载完成后将压缩包通过ssh命令使用winscp工具或其他工具上传至服务器
2.解压nginx安装包
#创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
#解压缩包,直接tar -xvf nginx安装包所在路径
tar -xvf nginx-1.23.0.tar.gz
三、安装nginx
#进入nginx目录
cd /usr/local/nginx
#进入目录
cd nginx-1.23.0
#编译 执行命令 考虑到后续安装ssl证书 添加两个模块 如不需要直接执行./configure即可
./configure --with-http_stub_status_module --with-http_ssl_module
#执行make命令(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
make
#执行make install命令
make install
补充查看编译参数
# 查看编译参数
./configure --help | more
四、启动nginx
cd /usr/local/nginx/sbin
# 默认配置文件启动
./nginx
# 指定配置文件启动
./nginx -c /usr/local/nginx/conf/nginx.conf
在浏览器中输入服务器ip即可看见nginx启动成功
浏览器中输入localhost:80
五、停止重启nginx
cd /usr/local/nginx/sbin
# 停止指令
./nginx -s stop
# 或
./nginx -s quit
# 重启命令
./nginx -s reload
# 查看nginx进程
ps -ef|grep nginx
六、设置开机自启动nginx
#编辑
vim /etc/rc.local
#最底部增加这一行
/usr/local/nginx/sbin/nginx
七、查看nginx是否启动成功
如果你在 CentOS 7 上使用的是预编译的 Nginx 包,而不是通过包管理器(例如 yum)安装的,那么你可以尝试以下方法来检查免安装的 Nginx 是否成功启动:
-
首先,切换到 Nginx 的安装目录。默认情况下,免安装版本的 Nginx 通常在
/usr/local/nginx/sbin
目录下cd /usr/local/nginx/sbin ```
-
在该目录下,运行以下命令以检查 Nginx 的配置文件是否正确:
./nginx -t ``` 如果配置文件中没有错误,将会显示类似以下内容的输出:
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
如果配置文件存在错误,将会显示相应的错误消息。你需要根据错误消息进行相应的修复。
-
接下来,运行以下命令来启动 Nginx 服务:
./nginx ``` 如果 Nginx 成功启动,将不会有任何输出。你可以使用以下命令来确认 Nginx 进程是否正在运行:
ps -ef | grep nginx
如果看到类似以下内容的输出,表示 Nginx 进程正在运行:
root 1234 1 0 12:34 ? 00:00:00 nginx: master process ./nginx
如果 Nginx 进程不存在,表示启动失败。你需要检查日志文件(通常位于 `/usr/local/nginx/logs` 目录下)来查看错误信息以进行故障排除。
请注意,免安装版本的 Nginx 不会自动注册为系统服务,因此无法使用 systemctl
命令来管理和检查其状态。你需要手动启动和停止 Nginx,并查看进程是否在运行来确认是否成功启动。
八、补充
1.配置nginx.conf
若要修改监听端口,可打开nginx的配置文件进行修改。
# 打开配置文件
vi /usr/local/nginx/conf/nginx.conf
将端口号改成8089(随便挑个端口,你也可以修改为8848,等等)。
2.防火墙设置
若想使用外部主机访问nginx,上一步中若修改默认的80端口为8089,则需要关闭服务器防火墙或开放nginx服务端口。
centOS6及以前版本使用命令:
systemctl stop iptables.service
centOS7关闭防火墙命令:
systemctl stop firewalld.service
#不过,关闭防火墙会导致服务器有一定风险,所以建议是单独开放服务端口:
firewall-cmd --zone=public --add-port=8089/tcp --permanent
#查询端口号8089 是否开启:
firewall-cmd --query-port=8089/tcp
#重启防火墙:
firewall-cmd --reload
# 查看firewall防火墙状态
systemctl status firewalld
# 查看firewall防火墙开放端口
firewall-cmd --list-ports
#禁止firewall开机启动
systemctl disable firewalld.service