搭建nginx反向代理架构实验(反向代理:保护服务器信息)

系统版本:Redhat 8.0

 拓扑图

搭建nginx反向代理架构实验(反向代理:保护服务器信息)_第1张图片

 反向代理实验:简单的来说,就是一个网站有100万的访问量,通过反向代理分配给lamp和lnmp两个动态网站,然后存入数据库,网站实现数据互通。 

准备工作:其中包含lamp和lnmp两个动态网站,四台虚拟机分别是一台反向代理,两台动态网站,和一台数据库。我这里只写反向代理proxy一台服务器

1、关闭firewalld防火墙和selinux安全子系统

[root@proxy ~]# systemctl stop firewalld.service                  #关闭firewalld防火墙服务
[root@proxy ~]# systemctl disable firewalld.service             #禁止服务开机自动启动
[root@proxy ~]# systemctl status firewalld.service               #查看服务状态
[root@proxy ~]# vim /etc/selinux/config                                #编写selinux配置文件(下图)
[root@proxy ~]# getenforce                                                  #查看selinux状态 

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled            #此地方状态禁用
# SELINUXTYPE= can take one of these three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected. 
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

2、下载yum仓库(本地/网络仓库都行)

[root@proxy ~]# vim /etc/yum.repos.d/dd.repo        #编辑yum仓库(如下图)
[root@proxy ~]# yum clean all        #清除缓存
[root@proxy ~]# yum makecache        #缓存

[BaesOS]
name=BaesOS
baseurl=https://mirrors.aliyun.com/centos/8/BaseOS/x86_64/os/
enabled=1
gpgcheck=0

[AppStream]
name=AppStream
baseurl=https://mirrors.aliyun.com/centos/8/AppStream/x86_64/os/
enabled=1
gpgcheck=0

3、在proxy服务器上构建反向代理,下载nginx包,解压nginx包

[root@proxy ~]# cd /usr/local/src/
[root@proxy src]# wget http://nginx.org/download/nginx-1.20.2.tar.gz

搭建nginx反向代理架构实验(反向代理:保护服务器信息)_第2张图片

 4、准备工作,安装nginx环境所需要的包

[root@proxy nginx-1.20.2]yum -y groupinstall  ‘Development Tools’        #安装c++开发工具
[root@proxy nginx-1.20.2]yum -y install pcre pcre-devel        #指定pcre路径
[root@proxy nginx-1.20.2]yum -y install openssl openssl-devel

5、创建nginx系统用户,隐藏nginx版本号

[root@proxy nginx-1.20.2]# useradd -r nginx        #创建系统nginx用户
[root@proxy nginx-1.20.2]# vim src/core/nginx.h        

#define nginx_version      10200
#define NGINX_VERSION      "1.20.2"        #版本号(更改版本号)
#define NGINX_VER          "nginx/" NGINX_VERSION

6、编译脚本,脚本安装

[root@proxy nginx-1.20.2]#./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-pcre --user=nginx --group=nginx         #nginx配置,添加模块,指定用户和组
[root@proxy nginx-1.20.2]# make && make install         #编译安装

7、编辑环境变量,使其可以调用nginx命令。输入nginx命令开启,就可以登录IP网站

[root@proxy nginx-1.20.2]# cd /usr/local/nginx/sbin
[root@proxy sbin]# vim /etc/profile.d/nginx.sh        #配置环境变量

export PATH=$PATH:/user/local/nginx/sbin/

[root@proxy  sbin]# nginx        #启动nginx

8、编辑nginx主配置文件,添加网址后缀,此处添加处理图片的代码

[root@proxy ~]# vim /usr/ local/nginx/conf/nginx.conf

 upstream luntan {
           server 192.168.101.134;      #指定lamp服务器(此处可以加上配比)
           server 192.168.101.135;      #指定lnmp服务器(此处可以加上配比)
    }

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://luntan;        #调用luntan负载列表(负载均衡)
            proxy_set_header Host $http_host;     #以下三段是编写网站画面
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            root   html;
            index index.php index.html index.htm;    #添加index.php动态网站后缀
        }

9、重新加载nginx

[root@proxy ~]# nginx -s reload         #重新加载nginx
[root@proxy ~]# nginx -t                #检查语法错误

 三台虚拟机都能访问网站

搭建nginx反向代理架构实验(反向代理:保护服务器信息)_第3张图片

你可能感兴趣的:(架构,nginx)