nginx安装部署

测试环境一般有1台app服务器,直接安装部署应用即可。

但是生产上存在多台app应用服务器,这个时候就需要一台web(nginx)服务器用来随机访问多台nginx服务器,还有负载均衡的效果。

服务器列表:

生产上有3台app应用服务器(这三台统一安装用于的jar包或者war包,假如部署应用的端口号是8080,上下文根是tcrl):

182.119.106.1

182.119.106.2

182.119.106.3

1台web(安装nginx)服务器:

182.119.3.51

这个时候需要在web服务器上安装nginx即可。

首先要拥有nginx服务器的root用户,

登录182.119.1.1web服务器的root用户:

groupadd nginx >创建nginx组

useradd -g nginx nginx > 创建nginx用户指定nginx用户组

cd /usr

mkdir nginx

chown -R nginx:nginx /usr/nginx > 修改文件所属用户和组chown

/usr/nginx此目录是nginx的安装目录,主要是给nginx用户赋此目录权限,这样nginx就可以安装到此目录下。

重置nginx用户密码

[root@eshop-cache01 ~]# passwd nginx
Changing password for user nginx.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@eshop-cache01 ~]# 

接下来就可以切换用户安装啦。

su nginx >切换用户,也可以直接根据重置的nginx用户和密码登录

下载nginx、zlib、pcre,如果服务器有网就直接下载,如果没网就自己下载好资源上传至服务器。

wget http://zlib.net/zlib-1.2.11.tar.gz
wget http://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
wget http://nginx.org/download/nginx-1.19.0.tar.gz

我的直接下载(上传目录)是/home/nginx

[nginx@eshop-cache01 ~]$ wget http://zlib.net/zlib-1.2.11.tar.gz
--2021-06-15 13:51:46--  http://zlib.net/zlib-1.2.11.tar.gz
Resolving zlib.net (zlib.net)... 85.187.148.2
Connecting to zlib.net (zlib.net)|85.187.148.2|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 607698 (593K) [application/x-gzip]
Saving to: 鈥榸lib-1.2.11.tar.gz鈥

100%[==================================================================================================================================================================================================>] 607,698     16.4KB/s   in 23s    

2021-06-15 13:52:14 (26.3 KB/s) - 鈥榸lib-1.2.11.tar.gz鈥saved [607698/607698]

[nginx@eshop-cache01 ~]$ wget http://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
--2021-06-15 13:54:49--  http://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz
Resolving ftp.pcre.org (ftp.pcre.org)... 131.111.8.88
Connecting to ftp.pcre.org (ftp.pcre.org)|131.111.8.88|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 2090750 (2.0M) [application/x-gunzip]
Saving to: 鈥榩cre-8.44.tar.gz鈥

100%[==================================================================================================================================================================================================>] 2,090,750    880KB/s   in 2.3s   

2021-06-15 13:54:52 (880 KB/s) - 鈥榩cre-8.44.tar.gz鈥saved [2090750/2090750]

[nginx@eshop-cache01 ~]$ wget http://nginx.org/download/nginx-1.19.0.tar.gz
--2021-06-15 13:55:00--  http://nginx.org/download/nginx-1.19.0.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1043748 (1019K) [application/octet-stream]
Saving to: 鈥榥ginx-1.19.0.tar.gz鈥

100%[==================================================================================================================================================================================================>] 1,043,748    570KB/s   in 1.8s   

2021-06-15 13:55:02 (570 KB/s) - 鈥榥ginx-1.19.0.tar.gz鈥saved [1043748/1043748]

然后就开始解压:

tar -zxvf nginx-1.19.0.tar.gz
tar -zxvf  pcre-8.44.tar.gz
tar -zxvf zlib-1.2.11.tar.gz

 

 开始安装:

安装顺序是:pcre,zlib,nginx

cd  pcre-8.44
./configure > 发现报错:configure: error: Invalid C++ compiler or C++ compiler flags
因此需要安装c++
yum install gcc-c++
然后又报错:You need to be root to perform this command.
意思就是用root用户安装c++呗,用root用户执行yum install gcc-c++成功后继续用nginx用户安装
cd /home/nginx/pcre-8.44
./configure >这次成功啦
make && make install > 又报错啦  cannot create regular file '/usr/local/lib/libpcre.so.1.2.12': Permission denied
说明nginx用户没有/usr/local目录权限,所以用root用户执行chown -R nginx:nginx /usr/local
执行成功之后继续用nginx用户安装
make && make install
cd  zlib-1.2.11
./configure
make && make install
cd  nginx-1.19.0
./configure --prefix=/usr/nginx
make && make install

除了pcre安装的时候有点小波折,后面很顺利。

nginx安装成功之后就开始备份和编写nginx.conf配置文件啦。

#备份
cd /usr/nginx/conf
cp nginx.conf nginx.conf_bak

安装后的nginx.conf就不说明啦,直接说怎么改:

 

	upstream tcrlServer { > 此处是新增配置,用来填写文章开头说的多台app应用服务器。
						  >tcrlServer是自己命名的,可以新增多个不同命名的配置
		ip_hash; >代表负载均衡
		server 182.119.106.1:8080; 
		server 182.119.106.1:8080;
		server 182.119.106.1:8080;
	}

    server {
        listen       8080; 			>nginx服务器访问地址
        server_name  192.168.3.51;  >nginx服务器端口

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }
		location /tcrl { >此处是新增配置,拦截上下文根为tcrl的请求
            root   tcrlServer;>此处配置有点忘记了,回头我再修改
        }

剩下的就是启动啦

/usr/nginx/sbin
./ngix -t /usr/nginx/conf/nginx.conf 检测配置文件
./ngix -c /usr/nginx/conf/nginx.conf >启动nginx

启动不报错之后ps -ef|grep nginx会发起多两个进程,一个是master,一个是waker

在这里插入图片描述

 

然后就可以访问:

http://192.168.3.51:8080啦

 出现welCome就算成功啦。

访问http://192.168.3.51:8080/tcrl/*******路径的请求会自动随机转到下面三台服务器上:

http://182.119.106.1:8080/tcrl/*******
http://182.119.106.2:8080/tcrl/*******
http://182.119.106.3:8080/tcrl/*******

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值