欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

Centos7通过yum跟源码编译安装Nginx

程序员文章站 2023-11-04 12:01:16
源码编译安装 http://nginx.org/en/download.html 到官网下载,然后用XFTP上传到root目录 把文件解压出来 然后用yum安装依赖项 如果没装以上相关的依赖,会在./configure过程中出现各种错误 下图是没装gcc包的错误,我看网上要装gcc-c++,但我发现 ......

源码编译安装

到官网下载,然后用xftp上传到root目录

Centos7通过yum跟源码编译安装Nginx

 Centos7通过yum跟源码编译安装Nginx

把文件解压出来

tar -zxvf nginx-1.16.0.tar.gz

Centos7通过yum跟源码编译安装Nginx

 

 然后用yum安装依赖项

yum install gcc pcre-devel zlib-devel

如果没装以上相关的依赖,会在./configure过程中出现各种错误

下图是没装gcc包的错误,我看网上要装gcc-c++,但我发现我只安装gcc也没问题

Centos7通过yum跟源码编译安装Nginx

  下图是没装pcre-devel出现的错误

 Centos7通过yum跟源码编译安装Nginx

下图是没装zlib-devel出现的错误

Centos7通过yum跟源码编译安装Nginx

进入nginx-1.16.0目录后,输入命令./configure,这个命令会在目录里生成makefile文件

./configure

成功后会提示如下图所示,在目录也会生成makefile跟objs目录

 Centos7通过yum跟源码编译安装Nginx

再输入make命令生成二进制文件,屏幕会出现一堆命令,最后如下图所示

 Centos7通过yum跟源码编译安装Nginx

然后输入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

 Centos7通过yum跟源码编译安装Nginx

 

然后查看一下是否成功加载了这个安装源

yum repolist

 Centos7通过yum跟源码编译安装Nginx

 

 现在就可以通过yum安装nginx了

yum install nginx

Centos7通过yum跟源码编译安装Nginx

安装好后,直接用systemctl启动nginx服务

systemctl enable nginx  #设置nginx为开机启动
systemctl start nginx  #启动nginx服务

刚装好,发现启动失败了

 Centos7通过yum跟源码编译安装Nginx

 

不过我重启下服务器,发现又能正常启动了。。然后记得把防火墙关了 systemctl stop firewalld,输入服务器ip,发现ok了

Centos7通过yum跟源码编译安装Nginx