nginx安装

安装前需要的环境:wget、gcc、pcre、openssl、zlib

(1)wget 用于从外网上下载插件

检查系统中是否已经安装wget,使用命令若出现下图wget相关版本描述则说明系统中已经安装wget 若报系统找不到命令说明wget未安装

nginx安装教程_nginx安装

若wget未安装则进行安装,安装命令yum -y install wget

nginx安装教程_nginx安装_02

(2) gcc安装

nginx需要先将官网下载的源码进行编译,编译依赖gcc环境

检查系统中是否已经安装gcc,使用命令gcc –v 若出现下图gcc相关版本描述则说明系统中已经安装gcc 若报系统找不到命令说明gcc未安装

nginx安装教程_配置文件_03

若gcc未安装则进行安装,安装命令yum install gcc-c++

nginx安装教程_配置文件_04

若出现问题:

nginx安装教程_nginx安装_05

则解决方案为:

nginx安装教程_nginx_06

参考: SSH and Yum don’t work in clean CentOS 7

若出现问题:

nginx安装教程_配置文件_07

解决方案:清理一下安装包,命令: yum clean all

nginx安装教程_nginx_08

然后重新执行安装命令: yum install gcc-c+

(3)PCRE(Perl Compatible Regular Expressions)安装

它是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库;

检查系统中是否已经安装pcre,使用命令man pcre 若出现下图pcre相关描述则说明系统中已经安装pcre 若报系统找不到命令说明pcre未安装

nginx安装教程_配置文件_09

若pcre未安装则进行安装,安装命令yum install -y pcre pcre-devel

nginx安装教程_nginx安装_10

(4)OpenSSL安装

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

检查系统中是否已经安装openssl,使用命令openssl 若出现下图openssl相关描述则说明系统中已经安装oqpenssl 若报系统找不到命令说明openssl未安装

nginx安装教程_配置文件_11

若pcre未安装则进行安装,安装命令yum install -y openssl openssl-devel

nginx安装教程_nginx安装_12

(5)zlib库安装

它提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库

检查系统中是否已经安装zlib,使用命令man zlib若出现下图zlib相关描述则说明系统中已经安装zlib 若报系统找不到命令说明zlib未安装

nginx安装教程_nginx_13

若zlib未安装则进行安装,安装命令yum install -y zlib zlib-devel

nginx安装教程_nginx安装_14

(6)Nginx的安装及配置:

(1)下载安装包

进入一个目录(随便一个目录即可,用来存放下载的Nginx的包,在此以/root目录为例)命令:cd /root

下载nginx安装包,本文用例 nginx1.10.3(目前最新为nginx1.13.6通过官网— ​​http://nginx.org/download​​​可查看)命令:wget ​​http://nginx.org/download/nginx-1.10.3.tar.gz​​​

nginx安装教程_配置文件_15

(2)解压nginx的tar包,命令: tar -zxvf ./nginx-1.10.3.tar.gz

nginx安装教程_nginx安装_16

(3)查看是否解压成功,命令: ls

nginx安装教程_nginx安装_17

(4)进入刚解压的的目录,命令: cd nginx-1.10.3

在/root 目录下新建一个nginx文件

nginx安装教程_配置文件_18

(5)进行配置(在此将nginx安装指向/usr/local/nginx/ 目录下,命令:

./configure –prefix=/usr/local/nginx/

nginx安装教程_nginx安装_19

(6)进行编译和安装(在源码的位置,本教程中为 /root/nginx-1.10.3)命令:

make && make install

nginx安装教程_nginx安装_20

(7)整个验证、编译、安装过程不应该报任何错误,如果在(6)使用prefix设置了安装目标目录,那么还需要在/etc/profile文件中设置环境变量,在最末尾加入export PATH=/usr/local/nginx/sbin:$PATH (其中的# add nginx path为注释建议加上)命令:

vi /etc/profile

备注:环境变量一般指操作系统中用来指定操作系统运行环境的一些参数,相当于设置了一个启动软件(如mysql/jdk)等快速路径,方便用户使用。

nginx安装教程_nginx安装_21

nginx安装教程_nginx安装_22

用命令: source /etc/profile 使环境变量生效

nginx安装教程_nginx_23

用命令export 查看环境变量发现刚设置的Nginx目录没有进去

nginx安装教程_配置文件_24

(8)检查是否安装成功,进入到etc目录(cd /etc)中执行命令: nginx –t 若正确如下图,若不正确则会给出相应的错误提示

nginx安装教程_配置文件_25

(9)对Nginx配置文件进行配置,Nginx配置文件的位置: /usr/local/nginx-1.10.3/conf/nginx.conf ,在此用WinSCP进行编辑,也可以用Linux的vi编辑器进行编辑 (关于nginx的配置文件内容,下面会单独来讲的)

nginx安装教程_nginx安装_26

(10)将配置文件修改为配置文件在Nginx安装目录下的conf中的nginx.conf,命令:

/usr/local/nginx-1.10.3/sbin/nginx -c /usr/local/nginx-1.10.3/conf/nginx.conf

nginx安装教程_nginx_27

(11)启动nginx 命令:nginx

nginx安装教程_nginx安装_28

查看Nginx状态,命令: ps -ef | grep nginx ,以下为正确(其中第三个为使用ps命令产生的进程)

nginx安装教程_nginx安装_29

(12)测试,启动Nginx的情况下在外部用浏览器访问刚才在配置文件中配置的地址

nginx安装教程_nginx_30

(13)若访问不到查看Linux防火墙,确保开放80端口(该端口根据配置文件中配置监听端口所定在本教程中为80端口)或关闭防火墙;为安全起见建议采用开放端口形式

A.防火墙相关检查相关命令

①查看状态:firewall-cmd –state

开启状态—running

关闭状态—not runing

nginx安装教程_nginx_31

②关闭防火墙:service firewalld stop

③打开防火墙: service firewalld start

注意:安装的centos的版本为7,在其他的版本下,关于防火墙的命令需要安装插件才能执行。

B.开放端口相关检查相关命令(确保防火墙是打开情况下再检查端口开放情况才是有意义的)

①查看防火墙中开放端口命令— iptables -L

②将某个端口(在此以80为例)开放firewall-cmd –zone=public –add-port=80/tcp –permanent

(14)相关操作Nginx的命令

重启Nginx,一般在修改Nginx配置文件后可使用;命令:nginx -s reload

停止Nginx,命令:nginx -s stop

nginx安装教程_配置文件_32