Linux和Win下部署nginx集群
Win下部署nginx集群
-
安装jdk,tomcat,nginx环境
- 进入Nginx官网:http://nginx.org/en/ 进行下载
- 选择需要的版本进行下载
- 下载后的nginx
-
在win下直接解压双击就可以运行nginx, 双击之后看不到效果, 可以打开任务管理里器查看
#nginx 常用命令,没配置环境变量时,在 nginx.exe 所在目录下使用命令行即可。
start nginx.exe //启动
nginx.exe -s reload //重启
nginx.exe -s stop //快速停止
nginx.exe -s quit //完整有序停止
- 安装多个tomcat
1. 多个tomcat
2. 修改tomcat配置文件(修改一个就可以了)
- 修改端口号
- 准备一个html页面, 启动两个tomcat
- 修改nginx的配置文件
Nginx 代理单个服务器
1、代理集群之前,先掌握如何代理单个服务器。
2、修改 nginx 的 conf 目录下的 nginx.conf 文件,在 locatioin / {} 中添加反向代理:“proxy_pass 代理服务器路径”
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://localhost:8080; Nginx 代理单个服务器
}
Nginx 代理集群服务器
1、修改 nginx 的 conf 目录下的 nginx.conf 文件,在 http 节点下添加如下所示:
upstream 自定义名称 {
server 服务器IP:端口;
server 服务器IP:端口;
}
2、修改 location / {} 中的反向代理 :proxy_pass http://上一步的“自定义名称”
upstream test {
server 127.0.0.1:8080 weight=1;#数字越大, 表示请求到的机会越大
server 127.0.0.1:8090 weight=5;
}
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
proxy_pass http://test; Nginx 代理多个服务器
# proxy_pass http://localhost:8080; Nginx 代理单个服务器
proxy_redirect off ;
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 $scheme;
proxy_next_upstream error timeout invalid_header;
proxy_set_header Host $host; #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP。
client_max_body_size 10m; #允许客户端请求的最大单文件字节数。
client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数。
proxy_connect_timeout 90; #Nginx跟后端服务器连接超时时间。
proxy_read_timeout 90; #连接成功后,后端服务器响应时间。
proxy_buffer_size 4k; #设置代理服务器保存用户头信息的缓冲区大小。
proxy_buffers 6 32k; #proxy_buffers缓冲区。
proxy_busy_buffers_size 64k; #高负荷下缓冲大小。
proxy_temp_file_write_size 64k; #设定缓存文件夹大小。
}
location ~ .*\.(html|htm|ico|png|jpg|jpeg|js|css|bmp|swf|gif|cab|mav)$ {
proxy_pass http://test;
}
- 重启Nginx服务器,然后再次访问,会发现页面随机的显示 Tomcat 1与Tomcat 2中的应用内容。
Linux下部署nginx集群
安装所需的环境(Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境。)
1. gcc安装
1. 查看安装的版本: gcc -v
2. 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:
yum install gcc-c++
2. PCRE pcre-devel 安装
1. 查看安装的版本: rpm -qa pcre
2. PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令:
yum install -y pcre pcre-devel
3. zlib 安装
1. 查看版本: rpm -qa zlib
2. zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
yum install -y zlib zlib-devel
4. OpenSSL 安装
1. 查看OpenSSL版本: rpm -qa|grep -i openssl
2. OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。
yum install -y openssl openssl-devel
一键安装依赖环境
//一键安装上面四个依赖
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
5. 下载nginx(一个一个执行)
1. 创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
2. 使用wget命令下载(推荐)。
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
3. 解压
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
4. 使用默认的nginx配置
./configure
5. 编译和安装
make
make install
6. 配置nginx.conf
vi /usr/local/nginx/conf/nginx.conf
安装完成一般常用命令
进入安装目录中,
命令: cd /usr/local/nginx/sbin
启动,关闭,重启,命令:
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重启
6.前提安装好jdk和tomcat
安装jdk
- 卸载CentOS自带的jdk
[root@localhost /]# java –version #查看当前系统jdk版本
[root@localhost /]# rpm -qa | grep java #查找jdk
java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
tzdata-java-2015e-1.el6.noarch
java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686
卸载自带的jdk
[root@localhost jdk]# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.35-1.13.7.1.el6_6.i686
[root@localhost jdk]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.79-2.5.5.4.el6.i686
- 上传下载好的jdk到linux
在Linux上创建软件安装目录`/service/toos/`
[root@localhost /]# mkdir -p /service/tools #创建多级目录,以后软件就安装在这个目录下
使用 FileZilla_3.7.3 软件进行上传
- 解压我们的jdk(根据自己的版本进行操作)
[root@localhost /]# cd /service/tools/ #进入到安装文件目录下
[root@localhost tools]# cd jdk/ #进入到jdk目录下
[root@localhost jdk]# tar -xzvf jdk-7u71-linux-i586.tar.gz #解压jdk
[root@localhost jdk]# cd jdk1.7.0_71/ #进入到解压后的目录下
[root@localhost jdk1.7.0_71]# pwd #查询当前工作目录
/service/tools/jdk/jdk1.7.0_71
- 配置环境变量
1. 编辑`/etc/profile` 文件
[root@localhost jdk]# vim /etc/profile
2. 在末尾行添加
#set java environment
JAVA_HOME=/service/tools/jdk1.8.0_191 #自己解压的jdk的路径
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
3. 保存退出
[root@localhost jdk]# source /etc/profile 使更改的配置立即生效
4. 注意
1.jdk的版本一定要与系统版本一致(centos 32 jdk 32 )
2.配置环境变量时JAVA_HOME=/service/tools/jdk1.8.0_191 一定要是自己解压的jdk的路径
安装Tomcat
- 上传Tomcat安装包( 使用软件 )
- 解压Tomcat安装包
[root@localhost mysql]# cd /service/tools/tomcat/
[root@localhost tomcat]# tar -xzvf apache-tomcat-7.0.57.tar.gz
- 启动Tomcat
[root@localhost tomcat]# cd /service/tools/tomcat/apache-tomcat-7.0.57/bin/ # 切换到tomcat可执行文件目录下
[root@localhost bin]# ./startup.sh # 执行命令,开启tomcat
- 访问Tomcat
打开浏览器,输入http://IP地址:8080