@H_
404[email protected]
@H_
404_0@
Nginx代理
# 正向代理
网络代理(代理客户端访问外网)
@H_
404_0@

# 反向代理
用于公司集群架构,代理服务端
@H_
404_0@

@H_
404_0@正向代理和反向代理的区别
1.区别在于形式上服务的对象不一样
2.正向代理代理的对象是客户端,为客户端服务
3.反向代理代理的对象是服务端,为服务端服务
@H_
404_0@为什么学代理

Nginx代理PHP服务
1.代理后端语言的服务(PHP、Java、Python)
2.国外服务器代理国内服务器,方便国外用户上网
@H_
404_0@

@H_
404_0@反向代理使用的模块

@H_
404_0@反向代理模块总结
反向代理模式 |
Nginx配置模块 |
http、websocket、HTTPS |
ngx_http_proxy_module |
fastcgi |
ngx_http_fastcgi_module |
uwsgi |
ngx_http_uwsgi_module |
grpc |
ngx_http_v2_module |
@H_
404_0@环境准备
主机名 |
wanip |
lanip |
角色 |
应用 |
web01 |
10.0.0.7 |
172.16.1.7 |
web网站 |
Nginx、PHP |
ib01 |
10.0.0.5 |
172.16.1.5 |
反向代理服务器 |
Nginx |
db01 |
10.0.0.51 |
172.16.1.51 |
数据库 |
mariadb |
@H_
404_0@安装LNMP环境
# 1.yum下载下来的所有rpm结尾的包
[root@web01 ~]# find /var/cache/yum/ -type f -name '*.rpm'
# 2.开启yum缓存
[root@web01 wc]# vim /etc/yum.conf
keepcache=1
# 3.添加Nginx源
[root@web01 ~]# vim /etc/yum.repos.d/Nginx.repo
[Nginx]
name=Nginx repo
baseurl=http://Nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# 4.添加PHP源
[root@web01 ~]# vim /etc/yum.repos.d/PHP.repo
[PHP-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
# 5.安装PHP和Nginx
[root@web01 ~]# yum -y install PHP71w PHP71w-cli PHP71w-common PHP71w-devel PHP71wembedded PHP71w-gd PHP71w-mcrypt PHP71w-mbstring PHP71w-pdo PHP71w-xml PHP71w-fpm
PHP71w-MysqLnd PHP71w-opcache PHP71w-pecl-memcached PHP71w-pecl-redis PHP71w-peclmongodb Nginx
# 6.将所有的rpm包拷贝到opt目录下
[root@web01 ~]# find /var/cache/yum/ -type f -name '*.rpm'|xargs cp -t /opt/
# 7.进入opt目录下打包
root@web01 ~]# cd /opt/
[root@web01 opt]# tar zcf Nginx_PHP.tgz *.rpm
# 8.安装
[root@web02 Nginx_PHP]# rpm -Uvh *.rpm
[root@web02 Nginx_PHP]# yum localinstall -y *.rpm
@H_
404_0@安装
数据库
# 1.安装数据库
[root@db01 ~]# yum install -y mariadb-server
# 2.启动MariaDB并加入开机自启
[root@db01 ~]# systemctl start mariadb
[root@db01 ~]# systemctl enable mariadb
# 3.设置数据库的管理用户 root 初始密码
[root@db01 ~]# MysqLadmin -uroot -p password '123'
Enter password: ## root默认没有密码,直接回车
# 4.连接数据库
[root@db01 ~]# MysqL -uroot -p123
# 5.创建wordpress数据库
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
# 6.创建wecenter数据库
MariaDB [(none)]> create database wecenter;
Query OK, 1 row affected (0.00 sec)
# 7.创建WordPress程序连接数据库的用户
创建一个用户:
用户名:wordpress_user
密码:123
允许该用户连接的IP地址:172.16.1.0/24网段
针对wordpress库下面的所有表,有所有权限
MariaDB [(none)]> grant all on wordpress.* to wordpress_user@'172.16.1.%' identifiedby '123';
# 8.创建wecenter程序连接数据库的用户
MariaDB [(none)]> grant all on wecenter.* to wecenter_user@'172.16.1.%' identified by
'123';
@H_
404_0@
Nginx做代理服务器(Ib01)
# 1.安装Nginx
[root@lb01 ~]# yum install -y Nginx
# 2.添加Nginx源
[root@lb01 ~]# vim /etc/yum.repos.d/Nginx.repo
[Nginx]
name=Nginx repo
baseurl=http://Nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
# 3.添加Nginx代理配置文件
[root@lb01 ~]# vim /etc/Nginx/conf.d/blog.wc.conf
server{
listen 80;
server_name blog.wc.com;
location /{
proxy_pass http://172.16.1.7:80;
}
}
# 4.启动Nginx并加入开机自启
[root@lb01 ~]# systemctl start Nginx
[root@lb01 ~]# systemctl enable Nginx
# 5.域名解析
10.0.0.5 blog.wc.com
@H_
404_0@代理配置优化
# 优化好的配置文件
[root@lb01 ~]# vim /etc/Nginx/conf.d/blog.wc.conf
server{
listen 80;
server_name blog.wc.com;
location /{
proxy_pass http://172.16.1.7:80;
## 在代理服务器的请求头中,加上域名,携带域名去访问后端的web01服务器
proxy_set_header Host $host;
## 在代理服务器的请求头中,透传用户的真实IP地址给web01
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
## lb01连接web01的超时时间(代理服务器,连接后端服务的超时时间)
proxy_connect_timeout 60s;
## lb01代理服务器读取web01返回的数据超时时间(代理后端的服务器响应代理服务器的超时
时间)
proxy_read_timeout 60s;
## 后端服务器回传给代理服务器数据的超时时间
proxy_send_timeout 60s;
## 开启代理服务器的缓冲区,代理服务器接收到web01返回的数据,接收一条,返回给用户一
条
proxy_buffering on;
## 开启存放头部信息的缓冲区大小为 32k
proxy_buffer_size 32k;
## 开启4个128k的存放数据主体的缓冲区
proxy_buffers 4 128k;
}
# 避免配置文件重复使用
[root@lb01 ~]# vim /etc/Nginx/proxy_params
## 在代理服务器的请求头中,加上域名,携带域名去访问后端的web01服务器
proxy_set_header Host $host;
## 在代理服务器的请求头中,透传用户的真实IP地址给web01
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
## lb01连接web01的超时时间(代理服务器,连接后端服务的超时时间)
proxy_connect_timeout 60s;
## lb01代理服务器读取web01返回的数据超时时间(代理后端的服务器响应代理时间)
proxy_read_timeout 60s;
## 后端服务器回传给代理服务器数据的超时时间
proxy_send_timeout 60s;
## 开启代理服务器的缓冲区,代理服务器接收到web01返回的数据,接收一条,返回给用户一条
proxy_buffering on;
## 开启存放头部信息的缓冲区大小为 32k
proxy_buffer_size 32k;
## 开启4个128k的存放数据主体的缓冲区
proxy_buffers 4 128k;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。