nginx在linux系统下的安装部署,以及反向代理https请求协议,ssl证书的生成,负载均衡tomcat服务器!
2017-04-10 11:41
1511 查看
此文档基于nginx1.7.8版本
1.获取nginx安装包,将nginx安装包放到app/software下,再进行解压安装,命令如下:
a) Zip后缀解压命令:unzip nginx-Xx -d /app/nginx/
b) Tar 后缀解压命令:tar -zxvf nginx_Xx -C /app/idm/nginx/
2.之后需要下载很多工具,以及数据源(pcre,gcc,g++,zlib-devel,openssl-devel,gcc-c++),首选yum install 进行安装,如果yum无法找到数据源,可以在windows下下载安装包,放入software目录下,yum安装命令如下:
a) Sudo yum install pcre.devel.x86_64 -y 直接安装linux中的pcre的依赖包
b) Sudo yum installl gcc g++ openssl -y 安装编译工具及依赖包
c) Sudo yum install -y zlib-devel
如上有遗漏,希望添加!
3.如果知道准确地址,也可以通过wget 下载pcre依赖包到software下,下载命令如下:
a) wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
这是我下载时的地址
b) 解压sudo tar zxvf pcre-8.36.tar.gz -C /usr/src/ 目录下 此工具为必须,因此我放入系统目录下方!也可根据情况放到别的地方
4.进入pcre安装目录,对pcre进行编译,命令如下:
a) cd /usr/src/pcre-8.36/
b) 执行./configure程序
编译成功图片示列:
5.进入nginx安装目录下,编译命令如下:
a) ./configure --prefix=/app/nginx --with-pcre --user=www --group=www --with-http_stub_status_module
b) make
c ) make && make install
编译成功图片示列:
5.1 如果暂时没有拿到安全证书的或者证书密钥,可以通过openssl工具生成一对没有授权的证书,暂时进行nginx服务器https启动访问测试(页面可能会提示不安全的证书),生成代码如下:
5.1.1.进入 /app/nginx/conf/目录下
5.1.2:openssl genrsa -des3 -out server.key 2048 执行,生成以rsa算法,2048大小的密钥
5.1.3:openssl req -new -key server.key -out server.csr 通过密钥生成预证书
5.1.4:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 获取到安全证书。
6.配置nginx.conf的配置文件,操作命令如下:
a) Cd /app/nginx/conf/ 进入该目录下
b) Vim nginx.conf 打开编译该文件
c) 找到文件中server,将其中的端口号修改为80转超链接443端口, { listen 80;listen 443 ssl;server_name localhost}域名设置.
d) 接在在下方设置ssl安全证书,及证书密钥,代码如下:
ssl_certificate /app/nginx-1.7.8/conf/server.crt; 安全证书
ssl_certificate_key /app/nginx-1.7.8/conf/server.key; 证书密钥
ssl_session_cache shared:SSL:10m; 缓存时间
ssl_session_timeout 10m; 会话时间
e),继续编辑nginx.conf,在安全证书下方编写代码,设置反向代理地址,如下:
location / { – / 表示所有请求都通过代理
proxy_pass https://localhost;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
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_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
Ps:反向代理proxy_pass:必须设置为https://localhost 域名;
7.设置负载均衡服务器,继续编辑nginx.conf文件,在整个server上方空白处,编写代码如下:
upstream localhost{
#load junheng server
server 11.2.0.107:8443 max_fails=3 fail_timeout=30s; //如果tomcat的443端口被占用,必要带上端口号
server 11.2.0.108:8443 max_fails=3 fail_timeout=30s;
server 11.1.1.109:8443 max_fails=3 fail_timeout=30s;
server 12.4.6.110:8443 max_fails=3 fail_timeout=30s;
#ip_hash; --ip_hash策略会在访问时让一个ip对一台负载设备,不会出现随机分发
sticky; --sticky刚好能够解决ip_hash的缺陷问题.
}
Ps:设置的负载均衡域名与proxy_pass字段输入的域名匹配,在其中输入需要负载的服务器地址及端口,max_fails表示分配时候会选择到该服务器的几率,值越大负载越大.
修改完成后,shift+:号,输入小写wq保存退出.
1.获取nginx安装包,将nginx安装包放到app/software下,再进行解压安装,命令如下:
a) Zip后缀解压命令:unzip nginx-Xx -d /app/nginx/
b) Tar 后缀解压命令:tar -zxvf nginx_Xx -C /app/idm/nginx/
2.之后需要下载很多工具,以及数据源(pcre,gcc,g++,zlib-devel,openssl-devel,gcc-c++),首选yum install 进行安装,如果yum无法找到数据源,可以在windows下下载安装包,放入software目录下,yum安装命令如下:
a) Sudo yum install pcre.devel.x86_64 -y 直接安装linux中的pcre的依赖包
b) Sudo yum installl gcc g++ openssl -y 安装编译工具及依赖包
c) Sudo yum install -y zlib-devel
如上有遗漏,希望添加!
3.如果知道准确地址,也可以通过wget 下载pcre依赖包到software下,下载命令如下:
a) wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.36.tar.gz
这是我下载时的地址
b) 解压sudo tar zxvf pcre-8.36.tar.gz -C /usr/src/ 目录下 此工具为必须,因此我放入系统目录下方!也可根据情况放到别的地方
4.进入pcre安装目录,对pcre进行编译,命令如下:
a) cd /usr/src/pcre-8.36/
b) 执行./configure程序
编译成功图片示列:
5.进入nginx安装目录下,编译命令如下:
a) ./configure --prefix=/app/nginx --with-pcre --user=www --group=www --with-http_stub_status_module
b) make
c ) make && make install
编译成功图片示列:
5.1 如果暂时没有拿到安全证书的或者证书密钥,可以通过openssl工具生成一对没有授权的证书,暂时进行nginx服务器https启动访问测试(页面可能会提示不安全的证书),生成代码如下:
5.1.1.进入 /app/nginx/conf/目录下
5.1.2:openssl genrsa -des3 -out server.key 2048 执行,生成以rsa算法,2048大小的密钥
5.1.3:openssl req -new -key server.key -out server.csr 通过密钥生成预证书
5.1.4:openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt 获取到安全证书。
6.配置nginx.conf的配置文件,操作命令如下:
a) Cd /app/nginx/conf/ 进入该目录下
b) Vim nginx.conf 打开编译该文件
c) 找到文件中server,将其中的端口号修改为80转超链接443端口, { listen 80;listen 443 ssl;server_name localhost}域名设置.
d) 接在在下方设置ssl安全证书,及证书密钥,代码如下:
ssl_certificate /app/nginx-1.7.8/conf/server.crt; 安全证书
ssl_certificate_key /app/nginx-1.7.8/conf/server.key; 证书密钥
ssl_session_cache shared:SSL:10m; 缓存时间
ssl_session_timeout 10m; 会话时间
e),继续编辑nginx.conf,在安全证书下方编写代码,设置反向代理地址,如下:
location / { – / 表示所有请求都通过代理
proxy_pass https://localhost;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503;
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_set_header X-Forwarded-Proto https;
proxy_redirect off;
}
Ps:反向代理proxy_pass:必须设置为https://localhost 域名;
7.设置负载均衡服务器,继续编辑nginx.conf文件,在整个server上方空白处,编写代码如下:
upstream localhost{
#load junheng server
server 11.2.0.107:8443 max_fails=3 fail_timeout=30s; //如果tomcat的443端口被占用,必要带上端口号
server 11.2.0.108:8443 max_fails=3 fail_timeout=30s;
server 11.1.1.109:8443 max_fails=3 fail_timeout=30s;
server 12.4.6.110:8443 max_fails=3 fail_timeout=30s;
#ip_hash; --ip_hash策略会在访问时让一个ip对一台负载设备,不会出现随机分发
sticky; --sticky刚好能够解决ip_hash的缺陷问题.
}
Ps:设置的负载均衡域名与proxy_pass字段输入的域名匹配,在其中输入需要负载的服务器地址及端口,max_fails表示分配时候会选择到该服务器的几率,值越大负载越大.
修改完成后,shift+:号,输入小写wq保存退出.
相关文章推荐
- Linux 服务器下 tomcat9的安装部署(SSL证书部署)以及遇到的问题解决
- Nginx + Tomcat 反向代理 负载均衡 集群 部署指南
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- (四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合
- Tomcat服务器的安装与部署(linux系统)
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- 实例详解tomcat组件安装+Nginx反向代理tomcat+Apache使用mod_jk和mod_proxy反向代理和负载均衡 推荐
- http升级https免费SSL证书申请以及tomcat服务器安装SSL证书问题
- Centos 7 安装nginx 并结合 tomcat 反向代理 负载均衡
- centos+tomcate + https协议 SSL证书制作、部署支持iphone、ipa下载安装.ipa程序
- Nginx服务器安装,高性能的HTTP、TCP、反向代理、负载均衡等服务和配置
- Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
- nginx + tomcat 部署反向代理加负载均衡
- Nginx反向代理Tomcat实现现负载均衡(高可用)以及利用redis+Session同步会话共享配置详解
- linux下nginx(反向代理服务器)安装步骤
- Linux\CentOS系统下的服务器搭建,下载编译环境,安装vsFtpd、nginx、MySQL、JDK、Tomcat、PHP
- 阿里云服务器Linux(Ubuntu系统)安装tomcat以及外网访问详解
- Linux系统安装ftp服务器,jdk以及tomcat