![edd85f83d0732109bcfc408023d88f67.png](https://i-blog.csdnimg.cn/blog_migrate/3641e26f27dc7b00a8decc2fa06f4032.jpeg)
源码编译安装
http://nginx.org/en/download.html
到官网下载,然后用XFTP上传到root目录
![472d35786d838de8e58cae72cd23fa2a.png](https://i-blog.csdnimg.cn/blog_migrate/19e497a8a3ea405e328a487ec850a5ea.jpeg)
![3ba197fc6d0782f04e2a20bbfa35aa58.png](https://i-blog.csdnimg.cn/blog_migrate/5fdf2e7c21c315b08da91fe6624abf5b.jpeg)
把文件解压出来
tar -zxvf nginx-1.16.0.tar.gz
![ed3fc003d74baeec9904aa8155152ecd.png](https://i-blog.csdnimg.cn/blog_migrate/3e32b47030568778d5570d44d0effba9.jpeg)
然后用yum安装依赖项
yum install gcc pcre-devel zlib-devel
如果没装以上相关的依赖,会在./configure过程中出现各种错误
下图是没装gcc包的错误,我看网上要装gcc-c++,但我发现我只安装gcc也没问题
![5cfde1ac68bcc5474d3de0eaec379c75.png](https://i-blog.csdnimg.cn/blog_migrate/f05c8c647adba1a6a06e5536da5d974f.jpeg)
下图是没装pcre-devel出现的错误
![3db3fd0c401c3d1058d9a7bf49232a8a.png](https://i-blog.csdnimg.cn/blog_migrate/b937d71dabea3dbd262d10d944aec8b6.jpeg)
下图是没装zlib-devel出现的错误
![4afd49818fb0ac6853755cf87ae0a0ac.png](https://i-blog.csdnimg.cn/blog_migrate/75da68c0c393e05f5357a7d596c6dc7d.jpeg)
进入nginx-1.16.0目录后,输入命令./configure,这个命令会在目录里生成Makefile文件
./configure
成功后会提示如下图所示,在目录也会生成Makefile跟objs目录
![07cceef69263a442289f320a24b3c6d4.png](https://i-blog.csdnimg.cn/blog_migrate/2d77341f846ddb28003587323d193b65.jpeg)
再输入make命令生成二进制文件,屏幕会出现一堆命令,最后如下图所示
![a479cb2a7553a78f9891d6bd38cf7678.png](https://i-blog.csdnimg.cn/blog_migrate/dccd766424d9a504959b205d30a58372.jpeg)
然后输入make install,把相关文件拷贝到对应的目录中,默认是/usr/local/nginx
make
make install
你会发现这种安装方法非常的绿色,好像跟没安装一样,连服务都没有,那只能自己动手创建服务了
cd /etc/systemd/system
vi nginx.service
将以下内容复制到nginx.service里保存退出,以下内容,我是从官方yum安装后的service里面复制修改的
[UNIT]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID
[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
![83f5af8b7b1856da2b1680eb61d96097.png](https://i-blog.csdnimg.cn/blog_migrate/22a25aacf603716f00f5c480c108ac35.jpeg)
然后查看一下是否成功加载了这个安装源
yum repolist
![98685d1c565c378a94a4033337533225.png](https://i-blog.csdnimg.cn/blog_migrate/b7b3111d7a11f0e70a9bd92882c32ba5.jpeg)
现在就可以通过yum安装nginx了
yum install nginx
![17a6629890ab70f2c4930b6f35016a38.png](https://i-blog.csdnimg.cn/blog_migrate/15d12ca0d8b8211d40c0caf4f577b14c.jpeg)
安装好后,直接用systemctl启动nginx服务
systemctl enable nginx #设置nginx为开机启动
systemctl start nginx #启动nginx服务
刚装好,发现启动失败了
![fd66376de91ecaf450f71eda284fe963.png](https://i-blog.csdnimg.cn/blog_migrate/1997bd27c5c001ced3b8cdd3b070524a.jpeg)
不过我重启下服务器,发现又能正常启动了。。然后记得把防火墙关了 systemctl stop firewalld,输入服务器ip,发现ok了
![63fe7ba954c4aed9ada48e292e7adf62.png](https://i-blog.csdnimg.cn/blog_migrate/91b25ae494c788f655509e6c436304a4.jpeg)