Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。
Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。
其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:
百度、京东、新浪、网易、腾讯、淘宝等。
Linux 版本:centos-7.2
Nginx 版本:nginx-1.9.9
下载(地址:nginx.org/en/download.html)完成后将Nginx解压缩包上传到Linux,如下图:
输入命令 " tar -zxvf nginx-1.9.9.tar.gz " 进行解压,如下图:
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。
输入命令 " yum install -y pcre pcre-devel " 进行安装,如下图:
注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。
输入命令 " yum install -y zlib zlib-devel " 进行安装,如下图:
安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc。
输入命令 " yum install -y gcc-c++ " 进行安装,如下图:
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。
输入命令 " yum install -y openssl openssl-devel " 进行安装,如下图:
注意:下边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录
所以我们先创建好临时目录 ,输入命令 " mkdir /var/temp/nginx -p " 进行创建,如下图:
目录创建好后,下面是设置 nginx 的配置参数,当然你也可以根据自己的实际需求进行设置,如下参数设置内容:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi
设置参数如下图:
当然你也可以使用默认的参数配置,直接输入 " ./configure " 即可,
安装完成后查看 nginx 的安装目录,输入 " whereis nginx " 显示nginx的安装目录,进入 nginx 目录,然后再启动 nginx 。
编译 nginx ,输入 " make " 进行编译,如下图:
安装 nginx ,输入 " make install " 进行 nginx 安装,如下图:
nginx 安装完成后,进入到 nginx 目录,输入命令 " cd /usr/local/nginx/sbin " 进入 nginx 启动程序目录,如下图:
启动 nginx 输入 " ./nginx " 进行启动,如下图:
注意:执行./nginx启动 nginx,这里还可以使用 -c 指定加载的 nginx 配置文件,如下:
./nginx -c /usr/local/nginx/conf/nginx.conf
如果不指定 -c,nginx 在启动时默认加载 conf/nginx.conf 文件,
此文件的地址也可以在编译安装nginx时指定./configure的参数(--conf-path= 指向配置文件(nginx.conf))
想知道 nginx 是否其启动成功,查看 nginx 的进程就知道了,输入 " ps aux|grep nginx " 后,出现如下图,说明启动成功,如下图:
4677是nginx主进程的进程id,4678是nginx工作进程的进程id。
然后去访问,看 nginx 是否安装成功,如下图:
启动起来了,为什么访问不到呢?
我来告诉你,导致 nginx不能正常问的是 Linux 的防火墙在作怪,解决办法:
简单粗暴,直接关闭防火墙 " systemctl stop firewalld.service " 关闭防火墙后,就可以正常的访问了,如下图:
还可以设置 : " systemctl disable firewalld.service " 禁止firewall开机启动。
设置 nginx 开机启动,在 Linux 的用户自定义启动文件 " rc.local " 中加入 nginx 的启动目录文件 " /usr/local/nginx/sbin/nginx " ,如下图:
注意:有点朋友找不到 rc.local文件,rc.local 为启动文件 ,故在 etc 目录下,在根目录输入 " cd /etc " 就能找到了。
加入 nginx 目录后,设置自定义启动文件的执行权限 " chomd 755 rc.local " ,如下图:
《 关于 Linux 下文件读取/写入/执行 的权限详解 》 需要的可以看一下!!!
补充说明:我们需要重启 nginx ,在这儿不建议直接重启 " ./nginx -s reload ",而是先停止 " ./nginx -s quti " 再 " ./nginx "。
在下次操作 nginx 的时候,你可能遇到 nginx 不能启动的现象,并出现错误,如下图:
解决 《 No such file or directory 》 的办法。
好了关于 “ Linux下Nginx安装图文详解 ” 就写到这儿,如果期间遇到其他什么问题,或者有更好的意见或者建议,也可以一起分享,谢谢你的分享。