Nginx及分布式tomcat集群以及Https站点

本文介绍了如何在CentOS7上安装Nginx并搭建HTTPS站点,结合Tomcat实现分布式集群和负载均衡。详细步骤包括安装依赖、配置Nginx SSL证书、设置代理转发以及实现HTTP到HTTPS的重定向。此外,还探讨了通过Nginx解决跨域问题的方法。
摘要由CSDN通过智能技术生成

1.准备阶段

安装前先安装(1)gcc gcc-c++编译环境(2)pcre pcre-dev (3)zlib(一般都有操作gzip的包)(4)openSSL

2.安装nginx

本文以CENTOS7为搭建环境,以Nginx1.10.1(stable稳定版)为Nginx服务器,首先上官网下载nginx

$ wget -c https://nginx.org/download/nginx-1.10.1.tar.gz

# 解压

$ tar -xzvf nginx-1.10.1.tar.gz

# 进入nginx-1.10.1

$ cdnginx-1.10.1

# 配置,测试用默认配置就可以了

$ ./configrue

(如果需要指定nginx的安装目录则加上--prefix=/usr/local/nginx ,默认是安装在/usr/local/nginx)

(r如果需要利用nginx搭建Https服务,需要安装ssl模块,加上参数./configrue --with-http_ssl_module)

# 编译安装

$ make && make install

# 安装完后,因为使用的的默认配置,所以,安装目录会在/usr/local/nginx下

# 查看是否安装成功

$ cd /usr/local/nginx/sbin/

$ ./nginx -v

# 会出现版本号说明安装成功

# 启动

 

$ cd /usr/local/nginx/sbin/

$ ./nginx

# 重载配置文件重启

./nginx -s reload

# 关闭nginx

# 快速关闭

$ ./nginx -s stop

# 正常有序的关闭

$ ./nginx -s quit

 

#nginx默认是80端口.浏览器输入http://your nginx server ip:80

 

(注意事项一:编译安装完nginx后,nginx的最终目录变为了/usr/local/nginx/),之前make前的目录只是一份源码,安装完就没什么用了,更改nginx文件切记要在/usr/local/nginx/里更改,例如更改nginx.conf,nginx启动时不指定配置文件的地址的话,默认就是/usr/local/nginx/conf/nginx.conf

 

(注意事项二:默认情况下linux是没有开放端口的,需要开启相应的端口,centos下默认是使用firewalld防火墙,还有一种是iptables防火墙,先弄清楚你服务器防火墙的类型才能确认如何开放端口)

 

 

二。nginx分发请求到分布式tomcat

这里我在虚拟机Linux中搭建了一个tomcat,ip地址为192.168.0.105:8080,在MAC主机搭建了一个tomcat,ip地址为192.168.0.101:8083

2个tomcat都搭建完毕后,做点小修改,用于分辨一个客户端请求到底是被分发到了哪个tomcat中,打开mac-tomcat的root文件夹,更改Index.jsp,在<body>元素中加入一行<p> this is a tomcat server in my mac </p>,OK。tomcat处理完毕

现在还是回到nginx服务器,直接贴我的nginx.conf配置文件,目录为:$ cd /usr/local/nginx/conf/nginx.conf(注意修改完配置文件记得重启nginx)

 

[root@localhost conf]# cat 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"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;
    #这是我新加的部分1——BEGIN
    #服务器的集群  
    upstream  do1shoje.com {  #服务器集群名字   
        server    192.168.0.101:8083  weight=2;#服务器配置   weight是权重的意思,权重越大,分配的概率越大。  
        server    192.168.0.105:8080  weight=1;  
    }  

    #这是我新加的部分1——END

 server { listen 80; server_name localhost; #charset koi8-r; #access_log logs/host.access.log main; location / { root html; index index.html index.htm;
#这是我新加的部分2——BEGIN
 proxy_pass http://do1shoje.com;
#表示如果客户端请求的地址是nginx服务器的地址192.168.0.105:80,则交给名称为do1shoje.com的集群来处理,do1shoje是集群名,可自定义,但必须与上面

upstream  do1shoje.com 定义的集群名一致。。。注意因为nginx和tomcat都装在centos中,

#两者的地址为:nginx:192.168.0.105:80;tomcat:192.168.0.105:8080
  #这是我新加的部分2——END
} 
#error_page 404 /404.html; # redirect se
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值