Nginx在Linux下的安装及基本运用

1.环境的准备

(1)需要安装 gcc 的环境

  • yum install gcc-c++

(2)第三方的开发包。

PCRE
PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库。

  • yum install -y pcre pcre-devel
  • 注:pcre-devel 是使用 pcre 开发的一个二次开发库。nginx 也需要此库。

zlib
zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行 gzip,所以需要在 linux 上安装 zlib 库。

  • yum install -y zlib zlib-devel

OpenSSL
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在 linux安装 openssl 库。

  • yum install -y openssl openssl-devel

2.Nginx 下载

通过查阅官网, 由于博主的linux为centerOS 7.5,进入centerOS专区进行查阅,发现:
centerOS安装nginx
于是执行命令:

sudo yum install nginx

3.Nginx启动与访问

此处提供基本命令:

  • nginx -h 查看帮助信息
  • nginx -v 查看Nginx的版本号
  • nginx -V 显示Nginx的版本号和编译信息
  • nginx 启动Nginx
  • nginx -s stop 快速停止和关闭Nginx
  • nginx -s quit 正常停止或关闭Nginx
  • nginx -s reload 配置文件修改重新加载
  • nginx -t 测试Nginx配置文件的正确性及配置文件的详细信息
  • ps aux|grep nginx 查看nginx进程

在安装完毕之后,
执行nginx命令,启动nginx
再执行命令 nginx -t 查看nginx配置信息
配置信息
发现nginx.conf位置。
在浏览器输入服务器IP地址,弹出页面:
nginx配置成功
这说明,nginx配置成功。

4.Nginx反向代理与负载均衡

4.1反向代理

4.1.1 什么是反向代理

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。
首先我们先理解正向代理,如下图:
正向代理
正向代理是针对你的客户端,而反向代理是针对服务器的,如下图
反向代理示例
反向代理示例

4.1.2配置反向代理

(1)在Nginx主机修改 Nginx配置文件,即在上文中提到的nginx.conf文件:

upstream tomcat-travel{
server 192.168.1.31:8080;#IP+端口
}
server {
listen 80; # 监听的端口
server_name www.xxxx.com; # 域名或ip
location / { # 访问路径配置
# root index;# 根目录
proxy_pass http://tomcat-travel;#被代理地址
ndex index.html index.htm; # 默认首页
}
}

  • upstream 后面字符串可为任意合法字符,与后面proxy_pass 的中间参数保持一致
  • 如果tomcat-travel参数无法被传达,可在proxy_pass后面追加kv对:proxy_set_header Host $host,这句话作用:把原http请求的Header中的Host字段也放到转发的请求里。服务器是靠这个Host值来区分你请求的是哪个域名的资源的。

(2)重新启动Nginx 然后用浏览器测试:http://www.XXXX.com (此域名须配置域名指向)

4.2 负载均衡

4.2.1 什么是负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

4.2.2 配置负载均衡-准备工作

(1)将存放工程的tomcat复制三份,修改端口分别为8080 ,8081,8082 。
(2)分别启动这三个tomcat服务。
(3)为了能够区分是访问哪个服务器的网站,可以在首页标题加上标记以便区分。

4.2.3 配置负载均衡

修改 Nginx配置文件:
upstream tomcat-travel {
server 192.168.1.31:8080;
server 192.168.1.31:8081;
server 192.168.1.31:8082;
}

server {
    listen       80; # 监听的端口
    server_name  www.xxxx.com; # 域名或ip
    location / {	# 访问路径配置
        # root   index;# 根目录
    proxy_pass http://tomcat-travel;

        index  index.html index.htm; # 默认首页
    }
    error_page   500 502 503 504  /50x.html;	# 错误页面
    location = /50x.html {
        root   html;
    }
}

地址栏输入http:// www.xxxx.com / 刷新观察每个网页的标题,看是否不同。
经过测试,三台服务器出现的概率各为33.3333333%,交替显示。
如果其中一台服务器性能比较好,想让其承担更多的压力,可以设置权重。
比如想让NO.1出现次数是其它服务器的2倍,则修改配置如下:
upstream tomcat-travel {
server 192.168.177.129:8080;
server 192.168.177.129:8081 weight=2;
server 192.168.177.129:8082;
}
经过测试,每刷新四次,有两次是8081

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值