/usr/local/src

# 1.安装gcc

安装nginx需要先将官方下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装。

查看gcc版本

gcc -v

如果未安装gcc,提示gcc 命令未找到,则需安装gcc。执行以下命令来完成gcc安装。

yum -y install gcc

# 2.pcre、pcre-devel安装

Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:

pcre(Perl Compatible Regular Expressions)是一个perl库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。执行以下命令进行安装:

yum install -y pcre pcre-devel

# 3.zlib安装

zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:

zlib库提供了很多种压缩和解压缩方式,nginx使用zlib对http包的内容进行gzip,所以需要在centos 7上安装zlib库。执行以下命令进行安装操作:

yum install -y zlib zlib-devel

# **4.**OpenSSL 安装

nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:

yum install -y openssl openssl-devel

# 5.nginx安装

# 5.1获取nginx

wget http://nginx.org/download/nginx-1.9.9.tar.gz

# 5.2解压nginx

nginx 复制到/usr/local/src

将下载好的nginx解压到/usr/soft目录下

tar -xvf nginx-1.16.0.tar.gz

# tar -zxvf nginx-1.9.9.tar.gz -C /usr/soft

# 5.3安装nginx

解压后切换到nginx-1.16.0目录下,执行以下命令完成nginx安装

**cd /usr/local/src/**nginx-1.16.0

进行配置,推荐使用默认配置,直接./configure就好了:

./configure

这里和redis的编译安装比较类似,首先在当前目录进行编译。输入make即可

make

然后回车,如果编译出错,请检查是否前面的4个安装都没有问题。

编译成功之后,就可以安装了,输入以下指令:

make install

# 5.4配置nginx

修改配置文件

安装后目录: /usr/local/nginx

切换目录:[root@localhost nginx-1.9.9]# cd /usr/local/nginx/conf

修改文件:[root@localhost conf]# vi nginx.conf

主要是修改server配置节的内容,listen为nginx的端口号,默认为80,可按需修改。

ESC键,退出编辑模式,按冒号键“:”进入命令模式,输入“wq”然后回车,保存并退出;

切换到sbin目录:[root@localhost conf]# cd /usr/local/nginx/sbin

开放防火墙端口:

打开客户端连接端口

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

  • 启动Nginx:

[root@localhost sbin]# ./nginx

/usr/local/nginx/sbin/nginx

  • 关闭nginx

./nginx -s quit 或者 ./nginx -s stop

  • 重启nginx

./nginx -s reload

  • 查看nginx进程

ps aux|grep nginx

  • 设置nginx开机启动,只需在rc.local增加启动代码即可。

#vim /etc/rc.local(不用)

# centos7 vi /etc/rc.d/rc.local

#然后在底部增加/usr/local/nginx/sbin/nginx

!!!!!

创建/etc/init.d/nginx

在里面加NGINX启动脚本,然后->

必须运行 chmod +x /etc/init.d/nginx以确保这个脚本将在引导期间执行。

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

# 6.配置tomcat、nginx实现反向代理

现在我想通过nginx访问tomcat

这就要我们去修改nginx的核心配置文件,在其目录下的conf文件夹下的nginx.conf文件,那么首先我们就要了解该文件中一些节点的作用。

worker_processes:工作进程个数,可配置多个

worker_connections:单个进程最大连接数

server:每一个server相当于一个代理服务器

lister:监听端口,默认80

server_name:当前服务的域名,可以有多个,用空格分隔(我们是本地所以是localhost)

location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里

index:当没有指定主页时,默认会选择这个指定的文件,可多个,空格分隔

proxy_pass:请求转向自定义的服务器列表

upstream name{ }:服务器集群名称

知道了节点作用后,我们就知道我们需要修改的文件中的server部分

vi /usr/local/nginx/conf/nginx.conf

它访问的是它欢迎页面即index.html,

在server 之前加入以下内容:

创建服务器集群,并命名为test,web集群的ip地址+端口号全部配置在这里,下面以两台web应用服务器为例。

upstream test{

#服务器配置 weight是权重的意思,权重越大,分配的概率就越大

server 192.168.32.1:8081 weight=1;

server 192.168.32.2:8081 weight=1;

}

同时我们需要再修改下server,将定向的路径转到自定义服务器集群上。修改location 下的proxy_pass 节点内容。

http:// 后面对应upstream节点中集群的名称,两边一致即可。

server {

​ listen 80;

​ server_name localhost;

​ charset utf-8;

​ location / {

​ proxy_pass http://test;

​ #root html;

​ #index index.html index.htm;

}

}

ESC键,退出编辑模式,按冒号键“:”进入命令模式,输入“wq”然后回车,保存并退出。

重启nginx:[root@localhost bin]# /usr/local/nginx/sbin/nginx -s reload