centos7更换阿里云yum源后无法安装nginx的问题解决
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了centos7更换阿里云yum源后无法安装nginx的问题解决相关的知识,希望对你有一定的参考价值。
在centos7上,我将yum源更换为阿里云源,按照配置完成后,想使用yum安装nginx,但是老是提示我找不到nginx,没有可用的安装包,无论我是换为华为云的yum源,还是其他国内源,都无法找到。我的centos版本为7.7无论我是安装epel-release,还是安装nginx的仓库,都没办法找到nginx包
我的nginx repo配置也没问题
一安装就找不到
但是可以用yum搜索到nginx的其他组件
这不科学
后来我想一个办法,在能够yum安装nginx的同样的机器上,把nginx相关包下载下来,然后把rpm包导入问题的机器上,然后使用rpm方式安装
yum install --downloadonly --downloaddir=/tmp/nginx nginx<br/>
命令说明
--downloadonly 只下载,不安装
--downloaddir=/tmp/nginx 指定下载保存目录
可以看到相关的依赖的rpm包已经下载好了
然后使用打包上传到问题机器上
tar -cvf nginx.tar nginx
scp nginx.tar root@172.31.208.131:/root
到问题机上解压后,以依次忽略依赖和强制安装的方式安装这些rpm包
rpm -ivh nginx-all-modules-1.12.2-2.el7.noarch.rpm --nodeps --force
rpm -ivh nginx-filesystem-1.12.2-2.el7.noarch.rpm --nodeps --force
rpm -ivh nginx-mod-http-geoip-1.12.2-2.el7.x86_64.rpm --nodeps --force
rpm -ivh nginx-mod-http-image-filter-1.12.2-2.el7.x86_64.rpm --nodeps --force
rpm -ivh nginx-mod-http-perl-1.12.2-2.el7.x86_64.rpm --nodeps --force
rpm -ivh nginx-mod-http-xslt-filter-1.12.2-2.el7.x86_64.rpm --nodeps --force
rpm -ivh nginx-mod-mail-1.12.2-2.el7.x86_64.rpm --nodeps --force
rpm -ivh nginx-mod-stream-1.12.2-2.el7.x86_64.rpm --nodeps --force
安装完成后,确定nginx可用
最后将nginx作为服务加入sytemd启动
vi /lib/systemd/system/nginx.service
内容如下:
[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/run/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /run/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
KillSignal=SIGQUIT
TimeoutStopSec=5
KillMode=process
PrivateTmp=true
[Install]
WantedBy=multi-user.target
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
然后niginx就可以正常启动了
以上是关于centos7更换阿里云yum源后无法安装nginx的问题解决的主要内容,如果未能解决你的问题,请参考以下文章