环境
腾讯云-轻量应用服务器 CentOS 7.6 64bit、nginx-1.21.4.tar.gz
下载nginx压缩包
选择Linux版本
版本说明
Mainline version主线版本,即开发版本Stable version稳定版本,即适用于生产环境Legacy versions历史稳定版本
上传、解压文件
上传压缩文件至目录/opt、/usr或其它目录,可使用FinalShell、XShell作为Shell工具。FinalShell提供了可视化操作界面(如下图),XShell命令为rz可调出上传窗口。
使用tar -zxvf nginx-1.21.4.tar.gz命令解压至当前目录,也可解压至其他目录,使用命令tar -zxvf nginx-1.21.4.tar.gz -C 指定目录,注意参数C为大写
检查/安装依赖环境
检查本地环境
参考链接 www.cnblogs.com/xxoome/p/58…
本地示例 yum list installed | grep "gcc"
安装
若未安装依赖,则可使用yum命令安装 yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
编译安装Nginx
使用命令创建指定的安装目录 mkdir 安装目录,此处为 /opt/nginx;进入之前解压好的nginx目录中,使用命令配置预编译安装目录 ./configure --prefix=指定的安装目录,使用命令 make 编译,使用命令 make install 安装;也可使用默认方式编译安装,进入解压目录后,使用命令 ./configure make && make install,默认会安装到 /usr/local/nginx目录下。
测试运行
nginx 的可执行文件在安装目录的 sbin 目录中 使用命令
./sbin/nginx运行nginx,使用命令模糊查询名叫nginx的进程ps -ef|grep nginx,如下图一,第一个进程就是正在运行的nginx,第三个代表运行查找命令所在的进程(不用理会);打开浏览器输入ip地址(默认80端口,云服务器默认开放了80端口防火墙),可看到nginx默认的运行界面(下图二)
Nginx相关命令
- 启动
./nginx,进入sbin目录后执行或使用全路径执行,前缀需要./ - 重启
./nginx -s reopen - 重新载入配置文件
./nginx -s reload - 停止
./nginx -s stop,无论进程是否在工作,直接停止进程 - 安全退出
./nginx -s quit,进程完成当前工作后停止 - 指定配置文件启动
./nginx -c /目录/nginx.conf - 查看版本
./nginx -v
firewall防火墙相关命令
- 查看状态
systemctl status firewalld,active表示启动、inactive表示关闭 - 启动
systemctl start firewalld - 停止
systemctl stop firewalld - 重启
systemctl restart firewalld - 禁用防火墙(重启有效)
systemctl disable firewalld - 启用防火墙(重启有效)
systemctl enable firewalld - 查看防火墙服务是否开机启动
systemctl is-enabled firewalld,enabled表示开启启动
- 启动
service firewalld start - 停止
service firewalld stop - 重启
service firewalld restart
- 查看状态
firewall-cmd --state,返回running表示正在运行,firwall-cmd是Linux提供的操作firewall的工具 - 查看版本
firewall-cmd --version - 查看帮助
firewall-cmd --help - 查看防火墙规则
firewall-cmd --list-all - 查看80端口是否开放
firewall-cmd --query-port=80/tcp,no表示未开放,yes表示开放 - 开放80端口
firewall-cmd --permanent --add-port=80/tcp,--permanent表示设置为持久,--add-port表示添加的端口(格式为:端口/通讯协议) - 移除80端口
firewall-cmd --permanent --remove-port=80/tcp - 更新防火墙规则
firewall-cmd --reload,开放端口后需要更新规则,否则不生效 - 查看所有开放端口
firewall-cmd --zone=public --list-ports,--zone=public表示作用域为public