- #安装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
- wget http://nginx.org/download/nginx-1.23.0.tar.gz
- 你也可以到网站选择你所需要的版本
下载完成后将压缩包通过ssh命令使用winscp工具或其他工具上传至服务器
- #创建一个文件夹
- cd /usr/local
- mkdir nginx
- cd nginx
-
- #解压缩包,直接tar -xvf nginx安装包所在路径
- tar -xvf nginx-1.23.0.tar.gz
- #进入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
- cd /usr/local/nginx/sbin
- # 默认配置文件启动
- ./nginx
-
- # 指定配置文件启动
- ./nginx -c /usr/local/nginx/conf/nginx.conf
-
在浏览器中输入服务器ip即可看见nginx启动成功
浏览器中输入localhost:80
- cd /usr/local/nginx/sbin
- # 停止指令
- ./nginx -s stop
- # 或
- ./nginx -s quit
-
- # 重启命令
- ./nginx -s reload
-
- # 查看nginx进程
- ps -ef|grep nginx
- #编辑
- vim /etc/rc.local
-
- #最底部增加这一行
- /usr/local/nginx/sbin/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,并查看进程是否在运行来确认是否成功启动。
若要修改监听端口,可打开nginx的配置文件进行修改。
- # 打开配置文件
- vi /usr/local/nginx/conf/nginx.conf
-
将端口号改成8089(随便挑个端口,你也可以修改为8848,等等)。 
若想使用外部主机访问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
-