(二)linux下安装nginx
linux版本:CentOS7 64位
【yum 安装最新版nginx:https://www.cnblogs.com/xxoome/p/7256214.html】
在安装nginx前首先要确认系统中安装了gcc、pcre-devel、zlib-devel、openssl-devel。
注:
pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行 gzip,所以需要在linux上安装zlib库。openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
Linux下检查是否安装过某软件包:http://www.cnblogs.com/xxoome/p/5866553.html
安装命令:
- 安装依赖包
1. //一键安装上面四个依赖
2. yum -y install gcc pcre-devel zlib-devel openssl openssl-devel
nginx下载地址:https://nginx.org/download/
- 下载“nginx-1.9.9.tar.gz”,移动到/usr/local/下。
#解压
tar -zxvf nginx-1.17.7.tar.gz
##进入nginx目录
cd nginx-1.17.7
## 配置
./configure --prefix=/usr/local/nginx
# make
make
make install
OK,现在可以执行make 了。
-
执行make、make install命令
-
测试是否安装成功
# cd到刚才配置的安装目录/usr/loca/nginx/
./sbin/nginx -t
错误信息:
nginx: [alert] could not open error log file: open() "/usr/local/nginx/logs/error.log" failed (2: No such file or directory)
2016/09/13 19:08:56 [emerg] 6996#0: open() "/usr/local/nginx/logs/access.log" failed (2: No such file or directory)
原因分析:nginx/目录下没有logs文件夹
解决方法:
mkdir logs
chmod 700 logs
正常情况的信息输出:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- 启动nginx
cd /usr/local/nginx/sbin
./nginx //启动nginx
- 在浏览器中输入服务器的ip地址,如:192.168.1.12
很不幸,打不开链接。下面进行原因排查:
说明服务器的80端口是打不开的。
- 因为我使用的linux系统版本是CentOS7,所以可以在服务器中执行如下命令来验证:
firewall-cmd --query-port=80/tcp
显然80端口没有开启。
下面我们开启80端口:
firewall-cmd --add-port=80/tcp --permanent
- #重启防火墙
systemctl restart firewalld
–permanent #永久生效,没有此参数重启后失效
刷新浏览器
配置完毕!
Linux下实现简单的反向代理
详见 这里哦