CentOS7安装Nginx1.20.2

449 阅读2分钟

最近公司竞标一个项目,要在客户环境中部署一套POC环境,客户用的是麒麟系统,登录后发现和CentOS7差不多,把部署Nginx的过程记录一下

下载并上传到服务器

nginx.org/en/download…

scp nginx-1.22.0.tar.gz poc:/opt/soft_packages

通过rpm安装nginx,无网的情况下安装,下载并上传到服务器

# 下载
wget http://nginx.org/packages/rhel/7/x86_64/RPMS/nginx-1.20.2-1.el7.ngx.x86_64.rpm
# 上传到服务器
scp nginx-1.20.2-1.el7.ngx.x86_64.rpm poc:/opt/soft_packages

安装-编译安装

准备

# 安装pcre
yum install pcre pcre-devel -y
rpm -qa pcre pcre-devel

# 安装openssl
yum install openssl openssl-devel -y
rpm -qa openssl openssl-devel

# 创建运行nginx的用户
useradd nginx -s /sbin/nologin -M

编译安装

cp nginx-1.22.0.tar.gz /usr/local/src/

# 解压
tar -xzvf nginx-1.22.0.tar.gz

cd nginx-1.22.0
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

make && make install


# 编译说明,可通过./configure --help查看
# --prefix=PATH                  # 设置安装路径
# --user=USER                    # 进程用户权限
# --group=GROUP                  # 进程用户组权限
# --with-http_stub_status_module # 激活状态信息
# --with-http_ssl_module         # 激活ssl功能

安装-通过rpm安装

# 检查是否安装pcre,如果没有的话需要安装
rpm -qa pcre pcre-devel
yum install pcre pcre-devel -y

rpm -ivh nginx-1.20.2-1.el7.ngx.x86_64.rpm
# 安装时不再分析包之间的依赖关系而直接安装,否则会报参数依赖错误
rpm -ivh nginx-1.20.2-1.el7.ngx.x86_64.rpm --nodeps --force

启动

/usr/sbin/nginx -c /etc/nginx/nginx.conf
# 查看是否启动成功
ps -ef|grep nginx

管理nginx

# 查看配置文件路径
rpm -ql nginx

# 指定配置文件启动
nginx -c /usr/local/nginx/conf/nginx.conf

# 快速关闭nginx
nginx -s stop

# 正常关闭nginx
nginx -s quit

# 验证配置文件
nginx -t

# 重新加载配置文件,平滑重启
nginx -s reload

配置防火墙

要想外部正常访问需要配置访火墙

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
firewall-cmd --permanent --list-all

遇到的问题

问题1:

[root@poc soft_packages]# rpm -ivh nginx-1.22.0-1.el7.ngx.x86_64.rpm
警告:nginx-1.22.0-1.el7.ngx.x86_64.rpm: 头V4 RSA/SHA256 Signature, 密钥 ID 7bd9bf62: NOKEY
错误:依赖检测失败:
	libpcre2-8.so.0()(64bit) 被 nginx-1:1.22.0-1.el7.ngx.x86_64 需要

解决:

  1. 安装pcre
# 安装前查看一下
rpm -qa pcre pcre-devel
pcre-8.32-17.el7.x86_64
# 安装
yum install pcre pcre-devel -y
# 安装后验证一下,多了一条
rpm -qa pcre pcre-devel
pcre-8.32-17.el7.x86_64
pcre-devel-8.32-17.el7.x86_64

注:

  • 安装nginx1.22.0会报上述错误
  • 改为nginx1.20.2版本就不会报错了