使用SCL,在CentOS 7上安装Nginx 1.18版本

首先

使用软件集合(SCL)在CentOS7上安装Nginx1.18。
原文:Nginx的各种安装方法和结束生命周期(EOL)总结
参考:快速入门 — 软件集合

支援

如果以本方法引入的话,根据Red Hat软件集产品生命周期 – Red Hat客户门户网站的信息,2022年11月可能会被认为是终止支持(EOL)的时间。
在此之后,可能不会进行对报告的漏洞和问题的响应。

日志

注册仓库

# yum install -y centos-release-scl

安裝

与 1.16 版本相同,由于 CentOS 7.9 无法启动,因此我们使用了 7.6 版本。
Systemd 错误:’拒绝接受服务控制组外的 PID,通过不安全的符号链接链获得’ – Red Hat 客户门户可能受其影响,但尚未进行调查。

# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

# yum install -y rh-nginx118 which
# scl enable rh-nginx118 bash
... 略

启动/停止nginx

# systemctl start rh-nginx118-nginx
# systemctl status -l rh-nginx118-nginx
● rh-nginx118-nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/rh-nginx118-nginx.service; disabled; vendor preset: disabled)
   Active: active (running) since Mon 2021-07-12 09:38:33 UTC; 11s ago
  Process: 1520 ExecStart=/opt/rh/rh-nginx118/root/usr/libexec/nginx-scl-helper enable $RH_NGINX118_SCLS_ENABLED -- /opt/rh/rh-nginx118/root/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 1514 ExecStartPre=/opt/rh/rh-nginx118/root/usr/libexec/nginx-scl-helper enable $RH_NGINX118_SCLS_ENABLED -- /opt/rh/rh-nginx118/root/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 1507 ExecStartPre=/opt/rh/rh-nginx118/root/usr/libexec/nginx-scl-helper enable $RH_NGINX118_SCLS_ENABLED -- /usr/bin/scl_enabled rh-nginx118 (code=exited, status=0/SUCCESS)
  Process: 1506 ExecStartPre=/usr/bin/rm -f /var/opt/rh/rh-nginx118/run/nginx/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 1526 (nginx)
   CGroup: /docker/1bdd965407a521642054a14635e2612a29f2d348a44d418c605d4fdebc86322d/system.slice/rh-nginx118-nginx.service
           tq1526 nginx: master process /opt/rh/rh-nginx118/root/usr/sbin/nginx
           mq1527 nginx: worker process
           ? 1526 nginx: master process /opt/rh/rh-nginx118/root/usr/sbin/nginx

Jul 12 09:38:33 1bdd965407a5 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jul 12 09:38:33 1bdd965407a5 nginx-scl-helper[1514]: nginx: the configuration file /etc/opt/rh/rh-nginx118/nginx/nginx.conf syntax is ok
Jul 12 09:38:33 1bdd965407a5 nginx-scl-helper[1514]: nginx: configuration file /etc/opt/rh/rh-nginx118/nginx/nginx.conf test is successful
Jul 12 09:38:33 1bdd965407a5 systemd[1]: Failed to read PID from file /var/opt/rh/rh-nginx118/run/nginx/nginx.pid: Invalid argument
Jul 12 09:38:33 1bdd965407a5 systemd[1]: Started The nginx HTTP and reverse proxy server.
# systemctl stop rh-nginx118-nginx
# systemctl status -l rh-nginx118-nginx
● rh-nginx118-nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/rh-nginx118-nginx.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

Jul 12 09:38:33 1bdd965407a5 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jul 12 09:38:33 1bdd965407a5 nginx-scl-helper[1514]: nginx: the configuration file /etc/opt/rh/rh-nginx118/nginx/nginx.conf syntax is ok
Jul 12 09:38:33 1bdd965407a5 nginx-scl-helper[1514]: nginx: configuration file /etc/opt/rh/rh-nginx118/nginx/nginx.conf test is successful
Jul 12 09:38:33 1bdd965407a5 systemd[1]: Failed to read PID from file /var/opt/rh/rh-nginx118/run/nginx/nginx.pid: Invalid argument
Jul 12 09:38:33 1bdd965407a5 systemd[1]: Started The nginx HTTP and reverse proxy server.
Jul 12 09:39:12 1bdd965407a5 systemd[1]: Stopping The nginx HTTP and reverse proxy server...
Jul 12 09:39:12 1bdd965407a5 systemd[1]: Stopped The nginx HTTP and reverse proxy server.

自动启动/停止Nginx的设置

# systemctl enable rh-nginx118-nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/rh-nginx118-nginx.service to /usr/lib/systemd/system/rh-nginx118-nginx.service.

# systemctl list-unit-files --type=service |grep nginx
rh-nginx118-nginx.service              enabled
# systemctl disable rh-nginx118-nginx
Removed symlink /etc/systemd/system/multi-user.target.wants/rh-nginx118-nginx.service.

# systemctl list-unit-files --type=service |grep nginx
rh-nginx118-nginx.service              disabled

不同的确认方式

# which nginx
/opt/rh/rh-nginx118/root/usr/sbin/nginx

# nginx -v
nginx version: nginx/1.18.0

# yum info rh-nginx118
Loaded plugins: fastestmirror, ovl
Loading mirror speeds from cached hostfile
 * base: ty1.mirror.newmediaexpress.com
 * centos-sclo-rh: ty1.mirror.newmediaexpress.com
 * centos-sclo-sclo: ty1.mirror.newmediaexpress.com
 * extras: ty1.mirror.newmediaexpress.com
 * updates: ty1.mirror.newmediaexpress.com
Installed Packages
Name        : rh-nginx118
Arch        : x86_64
Version     : 1.18
Release     : 7.sc2.el7
Size        : 0.0
Repo        : installed
From repo   : centos-sclo-rh
Summary     : Package that installs rh-nginx118
License     : GPLv2+
Description : This is the main package for rh-nginx118 Software Collection.
bannerAds