Linux CentOS7 nginx源码包安装(正在使用)

 

一、准备nginx运行环境(安装gcc环境、perl库、zlib、openssl等,每个安装都可能需要稍微等待一下下载)

gcc  nginx编译依赖gcc环境

yum install -y gcc-c++

这里执行上述命令的时候我的服务器报错:Error downloading packages ....  [Errno 5] [Errno 12] Cannot allocate memory 。解决方式看这里 https://blog.csdn.net/torpidcat/article/details/97921853

 

perl (Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式

yum install -y pcre pcre-devel

#如果上面yum方式安装失败,也可以尝试手动安装,参考地址:

https://blog.csdn.net/eddy23513/article/details/81366751

https://www.jianshu.com/p/2eb60806af9e

 

zlib 该库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip

yum install -y zlib zlib-devel

 

openssl 一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http)

yum install -y openssl openssl-devel

 

以上四个执行命令结束后都会提示 Complete!表示安装成功:

 Linux CentOS7 nginx源码包安装(正在使用)_第1张图片

 

有的系统可能安装完上述环境需要重启服务器才能生效,如需重启的话,使用命令(我装的时候跳过了这步,没有执行重启):

reboot

 

二、下载安装nginx 

下载nginx,http://nginx.org/en/download.html ,下载页面从上到下依次是开发版,稳定版,往期历史版本,这里下载稳定版 nginx-1.16.0 

Linux CentOS7 nginx源码包安装(正在使用)_第2张图片

 

上传下载的nginx-1.16.0.tar.gz文件到linux服务器的 /usr/local/ 目录下,并解压文件到当前目录,进入nginx-1.16.0

cd /usr/local/

tar -zxf nginx-1.16.0.tar.gz

cd nginx-1.16.0

Linux CentOS7 nginx源码包安装(正在使用)_第3张图片

 

检查安装环境是否有问题,有问题的话会报错

./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

Linux CentOS7 nginx源码包安装(正在使用)_第4张图片

Linux CentOS7 nginx源码包安装(正在使用)_第5张图片

检查后有个error,这不是检查出来的错误,是目录和文件名,不用管它,整体检查结果是没问题的,好,继续。

 

编译

make

安装

make install

安装完成后,并没有其他报错信息。返回上层目录,查看多了一个nginx目录,表示安装成功

Linux CentOS7 nginx源码包安装(正在使用)_第6张图片

 

三、运行测试nginx

尝试运行nginx(图为不同位置启用nginx方式,没有报错信息,表示命令执行成功):

/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s stop

cd /usr/local/nginx/sbin/
./nginx
./nginx -s reload
./nginx -s stop

./nginx

Linux CentOS7 nginx源码包安装(正在使用)_第7张图片

启动nginx之后,可以查看80端口占用情况(nginx默认占用80端口),确认nginx是否已运行,并且使用了80端口:

netstat -lnp|grep 80

或者直接查看nginx相关服务是否开启

netstat -lnp|grep nginx 

Linux CentOS7 nginx源码包安装(正在使用)_第8张图片

 

浏览器访问服务器外网ip地址,看是否展示nginx默认页面:

Linux CentOS7 nginx源码包安装(正在使用)_第9张图片

如果nginx运行了,并且占用的是80端口,但是ip地址访问不到nginx默认的页面,有可能是阿里云安全组或者防火墙没有开通80端口对外访问:

阿里云安全组(阿里默认开通80端口):

Linux CentOS7 nginx源码包安装(正在使用)_第10张图片

防火墙

查看防火墙的端口开通情况

firewall-cmd --zone=public --list-ports

或者

firewall-cmd --list-ports

如果80端口不存在,则添加,并重载防火墙

firewall-cmd --permanent --zone=public --add-port=80/tcp

firewall-cmd --reload 

Linux CentOS7 nginx源码包安装(正在使用)_第11张图片

加入后重新浏览器访问ip地址,如果还是访问不到nginx,那就自行排查吧。

 

四、开机自启

1. 编辑rc.local文件,添加启动nginx的命令

vi /etc/rc.local

文件末尾新增启动nginx的命令,保存并退出

/usr/local/nginx/sbin/nginx

Linux CentOS7 nginx源码包安装(正在使用)_第12张图片

 

2. 修改 /etc/rc.local 的权限

chmod 755 /etc/rc.local

3. 系统重启后,访问ip或ip:80,默认跳转到nginx首页,则表示开机自启生效

 

五、nginx.conf配置

配置文件位置

Linux CentOS7 nginx源码包安装(正在使用)_第13张图片

【待补充】

---------------------

至此 /usr/localhost/目录下的 nginx-1.16.0 和 nginx-1.16.0.tar.gz 都可以删掉了。

 

 

参考:

https://blog.csdn.net/zhangningkid/article/details/88309748

https://blog.csdn.net/oschina_41790905/article/details/89702629

https://blog.csdn.net/u012150590/article/details/80139010

 

 

 

 

你可能感兴趣的:(linux,nginx)