Centos7通过yum跟源码编译安装Nginx
Posted caijt
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Centos7通过yum跟源码编译安装Nginx相关的知识,希望对你有一定的参考价值。
源码编译安装
http://nginx.org/en/download.html
到官网下载,然后用XFTP上传到root目录
把文件解压出来
tar -zxvf nginx-1.16.0.tar.gz
然后用yum安装依赖项
yum install gcc pcre-devel zlib-devel
如果没装以上相关的依赖,会在./configure过程中出现各种错误
下图是没装gcc包的错误,我看网上要装gcc-c++,但我发现我只安装gcc也没问题
下图是没装pcre-devel出现的错误
下图是没装zlib-devel出现的错误
进入nginx-1.16.0目录后,输入命令./configure,这个命令会在目录里生成Makefile文件
./configure
成功后会提示如下图所示,在目录也会生成Makefile跟objs目录
再输入make命令生成二进制文件,屏幕会出现一堆命令,最后如下图所示
然后输入make install,把相关文件拷贝到对应的目录中,默认是/usr/local/nginx
make make install
你会发现这种安装方法非常的绿色,好像跟没安装一样,连服务都没有,那只能自己动手创建服务了
cd /etc/systemd/system vi nginx.service
将以下内容复制到nginx.service里保存退出
[UNIT] Description=Nginx Service [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s stop [Install] WantedBy=multi-user.target
然后将nginx设置为开机启动
systemctl enable nginx
你会发现现在无法启动nginx,我也搞不懂为什么,不过我重启后就正常了。
通过Yum安装Nginx
这种方式是非常简单方便,nginx官网上也有介绍
http://nginx.org/en/linux_packages.html#RHEL-CentOS
官方说明就是在/etc/yum.repo.d目录下面创建一个nginx的yum源,然后就可以直接用yum install nginx安装了,超级简单,这种方式就直接帮你把服务、都安装好了
cd /etc/yum.repo.d #切换到yum安装源文件目录 vi nginx.repo #创建一个安装包源
把以下内容复制进去,保存退出
[nginx-stable] name=nginx stable repo baseurl=http://nginx.org/packages/centos/$releasever/$basearch/ gpgcheck=1 enabled=1 gpgkey=https://nginx.org/keys/nginx_signing.key [nginx-mainline] name=nginx mainline repo baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/ gpgcheck=1 enabled=0 gpgkey=https://nginx.org/keys/nginx_signing.key
然后查看一下是否成功加载了这个安装源
yum repolist
现在就可以通过yum安装nginx了
yum install nginx
安装好后,直接用systemctl启动nginx服务
systemctl enable nginx #设置nginx为开机启动
systemctl start nginx #启动nginx服务
刚装好,发现启动失败了
不过我重启下服务器,发现又能正常启动了。。然后记得把防火墙关了 systemctl stop firewalld,输入服务器ip,发现ok了
以上是关于Centos7通过yum跟源码编译安装Nginx的主要内容,如果未能解决你的问题,请参考以下文章