CentOS7+Tomcat配置Nginx负载均衡

1.准备两个Tomcat

配置两个Tomcat一个端口是8080另外一个端口是8081,分别在webapps下面添加一个测试用的web项目,修改index.jsp文件,8080端口的index.jsp页面加入:

<h1 >This page is from  8080 port </h 1 >

8081的端口的index.jsp加入:

<h1 >This page is from  8081 port </h 1 >

之后启动两个Tomcat,8080端口跟8081端口都要开放


开放端口:
firewall-cmd --zone=public --add-port= 8080 /tcp --permanent
 
查看开放的端口:
firewall-cmd --list-ports

2.配置Nginx

使用whereis nginx命令找到nginx所在的目录并进入目录内的conf文件夹找到ngnix.conf配置文件,在conf文件夹下创建一个vhosts文件夹并在里面创建一个webapp.conf文件内容如下:


upstream tomcat {  #这里的名称要跟proxy_pass内的名称一致
     server 127.0 . 0.1: 8080 weight= 1 ;
     server 127.0 . 0.1: 8081 weight= 1 ;
   
server { 
     listen 80
     server_name bbs.goodapp.net; 
     access_log logs/bbs.access.log; 
     error_log logs/bbs.error.log; 
     #root html; 
     #index index.html index.htm index.jsp index.php; 
   
     location / { 
         proxy_pass http://tomcat/App.Web/;
   
         #Proxy Settings 
         proxy_redirect off; 
         proxy_set_header Host $host; 
         proxy_set_header X-Real-IP $remote_addr; 
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
         proxy_next_upstream error timeout invalid_header http_ 500 http_ 502 http_ 503 http_ 504
         proxy_max_temp_file_size 0
         proxy_connect_timeout 90
         proxy_send_timeout 90
         proxy_read_timeout 90
         proxy_buffer_size 4 k; 
         proxy_buffers 4 32 k; 
         proxy_busy_buffers_size 64 k; 
         proxy_temp_file_write_size 64 k; 
    
}

接着将创建的vhosts/webapps.conf文件include到nginx.conf文件内(黑体字部分)。

#user  nobody;
worker_processes  1 ;
 
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
 
#pid        logs/nginx.pid;
 
 
events {
     worker_connections  1024 ;
}
 
 
http {
     include       mime.types;
     default_type  application/octet-stream;
 
     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
     #                  '$status $body_bytes_sent "$http_referer" '
     #                  '"$http_user_agent" "$http_x_forwarded_for"' ;
 
     #acce ss_log  logs/access.log  main;
 
     sendfile        on;
     #tcp_nopush     on;
 
     #keepalive_timeout  0 ;
     keepalive_timeout  65 ;
 
     #gzip  on;
 
   include vhosts/webapp.conf;
 
     server {
         listen       80 ;
         server_name  localhost;
 
         #charset koi 8 -r;
 
         #acce ss_log  logs/host.access.log  main;
 
         location / {
            root   html;
             index  index.html index.htm;
         }
     
 
         #error_page  404              / 404 .html;
 
         # redirect server error pages to the static page / 50 x.html
         #
         error_page   500 502 503 504  / 50 x.html;
         location = / 50 x.html {
             root   html;
         }
 
         # proxy the PHP scripts to Apache listening on 127.0 . 0.1: 80
         #
         #location ~ \.php$ {
         #    proxy_pass   http:// 127.0 . 0.1 ;
         #}
 
         # pass the PHP scripts to FastCGI server listening on 127.0 . 0.1: 9000
         #
         #location ~ \.php$ {
         #    root           html;
         #    fastcgi_pass   127.0 . 0.1: 9000 ;
         #    fastcgi_index  index.php;
         #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
         #    include        fastcgi_params;
         #}
 
         # deny access to .htaccess files, if Apache's document root
         # concurs with nginx's one
         #
         #location ~ /\.ht {
         #    deny  all ;
         #}
     }

重新加载Nginx:

./nginx -s reload

在地址栏输入地址看下效果:

把8080端口的Tomcat关闭后再访问:

3.随机启动

通过vi /lib/systemd/system/nginx.service来添加nginx.service文件,并输入如下内容:

[Unit] 
Description=nginx 1.13 . 7 
After=network.target 
   
[Service] 
Type=forking 
ExecStart=/usr/ local /nginx/sbin/nginx 
ExecReload=/usr/ local /nginx/sbin/nginx -s reload 
ExecStop=/usr/ local /nginx/sbin/nginx -s quit 
PrivateTmp=true 
   
[Install] 
WantedBy=multi-user.target 

注意:如果不是安装在/usr/local/nginx/目录下,请根据实际安装路径修改ExecStart、ExecReload、ExecStop中的值。

更改nginx.service为可执行:

chmod 755 /lib/systemd/system/nginx.service 

设置开机自启动

systemctl enable nginx.service



猜你喜欢

转载自blog.csdn.net/qq_33541575/article/details/80759362