RHEL安装Nginx服务器
Red Hat Enterprise Linux(RHEL) 是Linux系统里为数不多,面向企业收费的版本。想来Linux作为一款开源的操作系统,深受广大极客的喜爱。而Red Hat公司硬是把开源免费的操作系统,做成了收费的版本,可见其一定在细节上做了更深层的把控。
这次我要搭建一个LNMP(Linux+Nginx+MySql+PHP)架构的系统,来体验一下Linux服务器端的编程感受。
首先第一步,我在Parallels里安装了RHEL版的Linux操作系统。
其次要安装Nginx服务器。我找到一个帖子How To Install Linux, Nginx, MySQL, PHP (LEMP) stack On CentOS 7,想参考着它做。结果在使用 yum install 时报错 There are no enabled repos,对此我找了很久的答案,我以为是subscription-manager没有注册,我还特意访问Red Hat官网去注册了两个号,结果都登不上,后来我才明白过来subscription-manager的注册号是要通过购买才有的,不是官网的注册号。
其实答案就在谷歌搜索第一个RHEL 7 - Solution to “There are no enabled repos” message,我却睁眼视而不见。
大概的步骤就是,
1.创建一个镜像目录
1 | sudo mkdir /media/rhel7-repo-iso/ |
2.把设备中的镜像安装进去
1 | sudo mount /media/psf/SHARED/rhel-server-7.3-x86_64-dvd.iso /media/rhel7-repo-iso/ |
3.创建一个yum repo文件
1 | vim /etc/yum.repos.d/RHEL_7_Disc.repo |
内容如下:
[RHEL_7_Disc]
name=RHEL_7_x86_64_Disc
baseurl=”file:///media/rhel7-repo-iso/“
gpgcheck=0
4.最后启用新建的repo
1 | yum repolist |
于是乎就可以在未注册的RHEL里使用yum命令安装新的软件了,但是有个缺点就是每次使用yum命令,都会提示你注册
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
当我觉得可以使用命令1
sudo yum install nginx
来安装nginx时,结果又报错没有可用的软件包 NGINX,我搜了一下,网上说
很多软件包在yum里面没有的,解决的方法,就是使用epel源,也就是安装epel-release软件包。EPEL (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,为“红帽系”的操作系统提供额外的软件包,适用于RHEL、CentOS等系统。
我想,嗯,应该先执行命令1
sudo yum install epel-release
,哪知道还是报错没有可用的软件包 epel-release,我估计我这个版本的RHEL里yum找不到软件包里有epel源,后来我找到了另外的方法安装epel源1
2
3wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-9.noarch.rpm
rpm -ivh epel-release-7-9.noarch.rpm
虽然这个命令我不太熟悉,但是我还是安装成功了。
然后就是执行1
yum install nginx
,安装成功。
总结一下,yum命令是RHEL里的常用命令。但是yum并没有这么简单就能用,首先它得有一个repo,其次yum里的软件包有限,Fedora为其提供了epel源来扩展其软件包,像nginx,yum里本来没有,但是经过安装epel源扩展之后,就能通过yum来安装了。