因为我们公司的linux只能内网访问,所以本文中介绍安装nginx的方式是离线安装,下载链接:http://nginx.org/download/nginx-1.17.5.tar.gz,你们也可以在线安装。

1.nginx的安装

1. 将nginx的tar.gz文件上传到home目录下。
2.创建存放nginx的目录:
# sudo mkdir /etc/nginx
3.将home目录下的压缩包移动到指定目录:
# sudo cp nginx-1.17.5.tar.gz /etc/nginx/
4.进入到指令目录:
[root@VM_0_11_centos ~]# cd /etc/nginx/
5.解压
[root@VM_0_11_centos nginx]# sudo tar -xvf nginx-1.17.5.tar.gz
6.进入解压目录
[root@VM_0_11_centos nginx]# cd nginx-1.17.5/
7.sudo ./configure (全局安装nginx),若不是第一次安装nginx,则要和原先的版本区分开来,指定目录,(要配置很多东西,我没有尝试过:./configure --prefix=/usr/local/nginx)
[root@VM_0_11_centos nginx-1.17.5]# sudo ./configure

安装的过程中,可能会有错误,没关系,这是因为缺少包的缘故。
将红框中的第一句复制百度,就会有解决方案。

nginx 各个版本特性_Nginx


这里需要执行如下代码

yum -y install pcre-devel

nginx 各个版本特性_linux_02


显示complete说明你的这个包安装完成!

重新执行:sudo ./configure

nginx 各个版本特性_nginx 各个版本特性_03


依然报错,没关系,百度红圈中的语句:

需要执行:

yum -y install zlib-devel

再次执行:sudo ./configure

下图显示显示nginx安装成功!

nginx 各个版本特性_nginx 各个版本特性_04

8.编译:
[root@VM_0_11_centos nginx-1.17.5]# sudo make && make install

如下如所示,多次提到红圈中的目录,则是系统安装的nginx的目录,我们需要进入到改目录执行下一步操作。

nginx 各个版本特性_nginx_05

9.进入目录:
[root@VM_0_11_centos nginx-1.17.5]# cd /usr/local/nginx/
10.进入到conf/目录,查看该目录下的文件:如图

nginx 各个版本特性_nginx 各个版本特性_06


需要注意的是,若conf中有 nginx.conf.default这个文件,则进行第11步,若没有,备份nginx.conf(cp nginx.conf nginx.conf.bak)

11.编辑nginx的配置文件,配置自己项目发布的服务器ip和端口
[root@VM_0_11_centos conf]# sudo view nginx.conf

nginx 各个版本特性_nginx_07


说明:

1.我们需要修改nginx的端口,图中的server-listen,不和配置nginx的服务器的其他使用中的端口冲突就行!(忘记标出来了)

2.在server的上面加上:(项目可以发布在不同服务器,也可以发布在一个服务器,配置不同端口)

upstream xxx1 {

server 127.0.0.1:8080;

server 127.0.0.2:8080;

}

3.在server-location里面修改:保证xxx1处一致!!!

location / {

proxy_pass http://xxx1;

}

补充:若是有两个项目,同时要配置负载,则如下图配置。

nginx 各个版本特性_负载均衡_08

12.进入到运行目录
[root@VM_0_11_centos conf]# cd ../sbin
13.启动nginx
[root@VM_0_11_centos sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf
14.查看nginx是否启动
netstat -lntp
15.若是有需要,关闭nginx
./nginx -s stop 关闭nginx

2.实际加入项目测试:

我这里采用的是将一个项目发布在同一个服务器,不同端口。

nginx 各个版本特性_Nginx_09


我这里启动了两个项目。两个项目一模一样,为了显示区别,首页输出的不一样。(jar包方式发布项目见我其他博客)

nginx 各个版本特性_nginx_10


显示都是可以正常访问的:

nginx 各个版本特性_linux_11


nginx 各个版本特性_Nginx_12


浏览器测试:nginx端口是80:故访问地址是ip:80/hello,多次访问,发现显示的不一样,也就是说每次调用的项目不一样,故实现了负载均衡。

nginx 各个版本特性_nginx 各个版本特性_13


nginx 各个版本特性_linux_14

3.自此,结束!!!