nginx搭建

本文详细介绍了如何安装和配置Nginx,包括下载、依赖安装、配置文件修改以及启动服务。同时,讲解了如何部署Tomcat服务器,并通过Nginx实现负载均衡,特别提到了sticky模块的使用,以确保用户请求固定分配到特定的Tomcat实例。此外,还涵盖了防火墙设置,允许外部访问以及如何卸载Nginx。
摘要由CSDN通过智能技术生成

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配置文件(具体配置请参考)

  • nginx-负载均衡-sticky.pdf

(1)打开配置文件

- 目录:/usr/local/nginx/conf/nginx.conf

(2)在http{}内,server{}上方添加内容

upstream myserver {
		#每个访客固定访问一个后端服务器(生产环境下不适用)
		#ip_hash;
		sticky;
		#默认是1,权重越高被分配的客户端越多
		server 10.2.37.92:8081  weight=2;
		server 10.2.37.92:8082  weight=1;	
	}

(3)修改server{}的内容

server {
	#默认是80,也可以改为其他的
        listen       80;
        #server_name  localhost;
        server_name  10.2.37.92;

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        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

链接地址

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值