Nginx 的简介
Nginx 是高性能的 HTTP 和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,有报告表明能支持高达 50,000 个并发连接数。
Nginx 的安装
1. 到nginx官网下载软件
- http://nginx.org/
2. 安装c++编译器
- yum -y install gcc
- yum -y install gcc-c++
3. 安装pcre依赖
(1) 联网下载pcre压缩文件依赖
- 执行命令:wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
(2) 解压压缩文件到指定目录下(比如home下)
- 执行命令:tar zxvf pcre-8.37.tar.gz -C /home/
(3) 进入解压之后的目录,执行命令
- ./configure
- 执行完毕后再执行命令:make && make install
(4) 查看是否安装成功
- 在pcre目录下执行命令:pcre-config --version
4. 安装openssl、zlib、gcc依赖
- 执行命令:yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
5. 下载sticky、openssl
(1) sticky下载地址:
- https://bitbucket.org/nginx-goodies/nginx-sticky-module-ng/get/c78b7dd79d0d.tar.gz
- 解压文件
- tar xzf nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d.tar.gz
- 修改名称,移动到指定目录下
- mv nginx-goodies-nginx-sticky-module-ng-c78b7dd79d0d /home/nginx-sticky
- 进入sticky文件夹,打开ngx_http_sticky_misc.c文件,在第四第五行插入数据#include <openssl/sha.h> 和 #include <openssl/md5.h>,命令如下:
- sed -i '4i #include <openssl/sha.h>' ngx_http_sticky_misc.c
- sed -i '5i #include <openssl/md5.h>' ngx_http_sticky_misc.c
(2) openssl 下载地址:
- https://www.openssl.org/source/old/1.1.1/openssl-1.1.1a.tar.gz
- 解压文件到指定目录下(比如home下)
- tar zxvf openssl-1.1.1a.tar.gz -C /home/
6.安装nginx
(1) 使用命令解压
- tar zxvf nginx-1.12.2.tar.gz -C /home/
(2) 进入安装目录,执行命令:
- ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-http_realip_module --with-openssl=/home/openssl-1.1.1d --add-module=/home/nginx-sticky
- 执行完毕后再执行命令:
- make -j8
- make install
7.启动nginx
- 进入目录 /usr/local/nginx/sbin,执行命令:./nginx 启动服务
- 打开浏览器,访问服务器的ip,(端口默认是80,可以不写)
- 常用命令:
- (1)查看 nginx 版本号: ./nginx -v
- (2)停止 nginx: ./nginx -s stop
- (3)重新加载 nginx:./nginx -s reload
8.开放端口或者关闭防火墙
- 在 windows 系统中访问 linux 中的 nginx,默认不能访问的,因为防火墙问题
(1)关闭防火墙
- 执行命令:systemctl disable firewalld.service
(2)开放访问的端口号,80 端口
- 查看开放的端口号:firewall-cmd --list-all
- 设置开放的端口号:firewall-cmd --add-port=80/tcp --permanent
- 重启防火墙:firewall-cmd –reload
9.部署tomcat服务器
(1)部署两个tomcat,端口号为8081,8082(也可以设置为其他的端口),给tomcat文件夹开放权限
- (目录示例:/home/tomcat/tomcat8081、tomcat8082)
- 执行命令:chmod -R 777 /home/tomcat
- 开放端口:
- firewall-cmd --add-port=8081/tcp --permanent
- firewall-cmd --add-port=8081/tcp --permanent
- firewall-cmd –reload
(2)部署项目war包,能够正常访问项目
10.修改nginx配置文件(具体配置请参考)
(1)打开配置文件
- 目录:/usr/local/nginx/conf/nginx.conf
(2)在http{}内,server{}上方添加内容
upstream myserver {
sticky;
server 10.2.37.92:8081 weight=2;
server 10.2.37.92:8082 weight=1;
}
(3)修改server{}的内容
server {
listen 80;
server_name 10.2.37.92;
location / {
proxy_pass http://myserver;
root html;
index index.html index.htm;
}
...
}
(4) 重启nginx
- 进入目录:cd /usr/local/nginx/sbin
- 执行命令:./nginx -s reload
(5)启动项目
- http://10.2.37.92:80/login
- 服务会自动访问8081或者8082,如果其中一个tomcat服务断掉,会继续访问另一个服务。
(6)卸载nginx
链接地址