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!表示安装成功:
有的系统可能安装完上述环境需要重启服务器才能生效,如需重启的话,使用命令(我装的时候跳过了这步,没有执行重启):
reboot
下载nginx,http://nginx.org/en/download.html ,下载页面从上到下依次是开发版,稳定版,往期历史版本,这里下载稳定版 nginx-1.16.0
上传下载的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
检查安装环境是否有问题,有问题的话会报错
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
检查后有个error,这不是检查出来的错误,是目录和文件名,不用管它,整体检查结果是没问题的,好,继续。
编译
make
安装
make install
安装完成后,并没有其他报错信息。返回上层目录,查看多了一个nginx目录,表示安装成功
尝试运行nginx(图为不同位置启用nginx方式,没有报错信息,表示命令执行成功):
/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s reload
/usr/local/nginx/sbin/nginx -s stopcd /usr/local/nginx/sbin/
./nginx
./nginx -s reload
./nginx -s stop./nginx
启动nginx之后,可以查看80端口占用情况(nginx默认占用80端口),确认nginx是否已运行,并且使用了80端口:
netstat -lnp|grep 80
或者直接查看nginx相关服务是否开启
netstat -lnp|grep nginx
浏览器访问服务器外网ip地址,看是否展示nginx默认页面:
如果nginx运行了,并且占用的是80端口,但是ip地址访问不到nginx默认的页面,有可能是阿里云安全组或者防火墙没有开通80端口对外访问:
阿里云安全组(阿里默认开通80端口):
防火墙:
查看防火墙的端口开通情况
firewall-cmd --zone=public --list-ports
或者
firewall-cmd --list-ports
如果80端口不存在,则添加,并重载防火墙
firewall-cmd --permanent --zone=public --add-port=80/tcp
firewall-cmd --reload
加入后重新浏览器访问ip地址,如果还是访问不到nginx,那就自行排查吧。
1. 编辑rc.local文件,添加启动nginx的命令
vi /etc/rc.local
文件末尾新增启动nginx的命令,保存并退出
/usr/local/nginx/sbin/nginx
2. 修改 /etc/rc.local 的权限
chmod 755 /etc/rc.local
3. 系统重启后,访问ip或ip:80,默认跳转到nginx首页,则表示开机自启生效
配置文件位置
【待补充】
---------------------
至此 /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