Nginx
标准三连
Nginx 是什么?
一种服务器软件,使用C和C++语言开发,让程序员可以将网页发布在Nginx服务器上,让成千上万的用户可以浏览。除此之外,Nginx还是一种高性能的HTTP反向代理服务器,同时也是一个代理邮件服务器。国内使用Nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。
作用
- 发布静态网站
- 实现反向代理
- 实现负载均衡
(所谓的负载均衡是指:当同时有多个用户访问我们服务器的时候,为了减少服务器的压力,我们需要将用户引入服务器集群中较轻压力的服务器,分担较重压力服务器的负担。) - 也是一个邮件服务器
为什么要用 Nginx?
- 保证内网的安全,可以使用反向代理提供防火墙(WAF)功能,阻止web攻击。大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。一旦受到攻击,攻击的是代理服务器,而不是真正的Web服务器。
-负载均衡,通过反向代理服务器来优化网站的负载。当大量客户端请求代理服务器时,反向代理可以集中分发不同用户请求给不同的web服务器进行处理请求。负载均衡技术在项目开发阶段讲解。
Nginx 怎么使用?
安装
- c语言开发的 所以要安装 gcc: yum -y install gcc-c++
- 安装Nginx依赖环境
正则表达式的库:
yum -y install pcre pcre-devel
数据压缩的库:
yum -y install zlib zlib-devel
安全证书的库:
yum -y install openssl openssl-devel
或者运行下面一条语句:
yum -y install pcre pcre-devel zlib zlib-devel openssl openssl-devel
- 解压:把Nginx压缩包传输到linux服务器上,如:/soft目录下,解压到/usr/local目录。
tar -xvf nginx-1.15.3.tar.gz -C /usr/local
- 配置:在nginx-1.15.3目录下,执行configure文件./configure
- 安装:在nginx-1.15.3的解压目录下编译与安装nginx。
make && make install
- 在/usr/local文件夹里面出现了nginx目录,则安装成功
- 启动:进入sbin目录启动nginx服务器
./nginx
- 开放防火墙80端口号
firewall-cmd --zone=public --add-port=80/tcp --permanent
- 重启防火墙
systemctl restart firewalld
Nginx 命令
命令 | 说明 |
---|---|
./nginx | 启动 |
./nginx -s reload | 重新加载配置文件 |
./nginx -s stop | 关闭nginx |
Nginx 配置文件
配置文件标签 | 说明 |
---|---|
listen | 服务器端口 |
root | 访问的根目录 |
server_name | 服务端名字 |
index | 访问的首页页面 |
nginx.conf参数名 | 功能 |
正向代理
正向代理类似一个跳板机,代理局域网内部的机器访问外部互联网的资源。
正向代理的用途:
- 访问原来无法访问的资源,如google
- 可以做缓存,加速访问资源
- 对客户端访问授权,上网进行认证。(如:网吧上网的电脑)
- 代理可以记录用户访问记录,对外隐藏用户的信息
原理
结构特点:客户机与代理服务器在同一个局域网,访问的资源在外部。对外面来说,客户机是隐藏的。
反向代理
反向代理方式是指以代理服务器来接收internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。
反向代理的作用
- 保证内网的安全,可以使用反向代理提供防火墙(WAF)功能,阻止web攻击。大型网站,通常将反向代理作为公网访问地址,Web服务器是内网。一旦受到攻击,攻击的是代理服务器,而不是真正的Web服务器。
-负载均衡,通过反向代理服务器来优化网站的负载。当大量客户端请求代理服务器时,反向代理可以集中分发不同用户请求给不同的web服务器进行处理请求。负载均衡技术在项目开发阶段讲解。
原理
结构特点:代理服务器与web服务器在同一个局域网,客户端从外网过来访问。
nginx 配置反向代理
配置文件标签 | 说明 |
---|---|
upstream 代理名 { server 服务器地址和端口号;} | 用于配置代理服务器的地址和端口号 |
location / { proxy_pass http://代理名; } | 制定访问的根目录是代理服务器 |
配置的步骤
配置代理服务器地址
upstream tomcat {
server localhost:8080;
}
将访问地址指向 tomcat
location / {
# root html;
index index.html index.htm;
#访问 tomcat
proxy_pass http://tomcat;
}