因为我们公司的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
安装的过程中,可能会有错误,没关系,这是因为缺少包的缘故。
将红框中的第一句复制百度,就会有解决方案。
这里需要执行如下代码
yum -y install pcre-devel
显示complete说明你的这个包安装完成!
重新执行:sudo ./configure
依然报错,没关系,百度红圈中的语句:
需要执行:
yum -y install zlib-devel
再次执行:sudo ./configure
下图显示显示nginx安装成功!
8.编译:
[root@VM_0_11_centos nginx-1.17.5]# sudo make && make install
如下如所示,多次提到红圈中的目录,则是系统安装的nginx的目录,我们需要进入到改目录执行下一步操作。
9.进入目录:
[root@VM_0_11_centos nginx-1.17.5]# cd /usr/local/nginx/
10.进入到conf/目录,查看该目录下的文件:如图
需要注意的是,若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
说明:
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;
}
补充:若是有两个项目,同时要配置负载,则如下图配置。
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.实际加入项目测试:
我这里采用的是将一个项目发布在同一个服务器,不同端口。
我这里启动了两个项目。两个项目一模一样,为了显示区别,首页输出的不一样。(jar包方式发布项目见我其他博客)
显示都是可以正常访问的:
浏览器测试:nginx端口是80:故访问地址是ip:80/hello,多次访问,发现显示的不一样,也就是说每次调用的项目不一样,故实现了负载均衡。
3.自此,结束!!!