Nginx与Apache——动静分离实操
admin
2023-02-27 13:01:54
0

Nginx动静分离介绍
Nginx的静态处理能力很强,但是动态处理能力不足,因此在企业中常用动静分离技术
针对PHP的动静分离
1、静态页面交给Nginx处理
2、动态页面交给PHP-FPM模块或Apache处理
在Nginx的配置中,是通过location配置段配合正则匹配实现静态与动态页面的不同处理方式
Nginx反向代理原理
Nginx不仅能作为Web服务器,还具有反向代理、负载均衡和缓存的功能。Nginx通过proxy模块实现将客户端的请求代理至,上游服务器,此时nginx与.上游服务器的连接是通过http协议进行的。Nginx在实现反向代理功能时的最重要指令为proxy_ _pass, 它能够并能够根据URI、客户端参数或其它的处理逻辑将用户请求调度至.上游服务器。

实操

需求与架构:
根据企业需要,将配置Nginx实现动静分离,对php页面的请求转发给L AMP处理,而静态页面交给Nginx处理,以实现动静分离
Nginx与Apache——动静分离实操
Nginx与Apache——动静分离实操
一、架设并配置LAMP环境

yum install httpd httpd-devel -y
##使用yum安装架构

systemctl start httpd.service
##启动服务

[root@localhost ~]# firewall-cmd --permanent --zone=public  --add-service=http              ##防火墙公共区域增加http协议
success

[root@localhost ~]# firewall-cmd --permanent --zone=public  --add-service=https         ##防火墙公共区域增加https协议
success

[root@localhost ~]# firewall-cmd --reload           ##重载防火墙
success

[root@localhost ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel -y
##使用yum安装MYSQL数据库,mariadb数据库管理系统是MYSQL数据库的分支

[root@localhost ~]# systemctl start  mariadb
##启动数据库

[root@localhost ~]# mysql_secure_installation           ##设置数据库

Enter current password for root (enter for none): 
##此处但回车键

Set root password? [Y/n] y
##此处输入y已确定设置密码
New password: 
##输入密码abc123
Re-enter new password: 
##再次确认密码输入

Remove anonymous users? [Y/n] n
##输入n以否定移除所有匿名用户

Disallow root login remotely? [Y/n] n
##此处输入n以否定使用root身份远程登录

Remove test database and access to it? [Y/n] n
##此处输入n以否定删除测试数据库并访问它

Reload privilege tables now? [Y/n] y
##此处输入n以确定重载数据库

[root@localhost ~]# yum -y install php
##使用yum安装php

[root@localhost ~]# yum install php-mysql -y
##建立php和mysql关联

[root@localhost ~]# yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath
##安装php插件

[root@localhost ~]# cd /var/www/html
##进入站点目录

[root@localhost html]# vim index.php
##编辑php网页



[root@localhost html]# systemctl restart httpd.service 
##重启服务

二、访问192.168.235.137/index.php的Apache网页
Nginx与Apache——动静分离实操

[root@localhost ~]# cd /var/www/html
[root@localhost html]# vim index.php
##修改网页输出内容

二、安装配置Nginx服务

1、在Linux上使用远程共享获取来自Windows共享的源码包

[root@localhost ~]# smbclient -L //192.168.235.1/  
##远程共享访问
Enter SAMBA\root's password: 

                Sharename       Type      Comment
                ---------       ----      -------
                LNMP         Disk       
[root@localhost ~]# mkdir /abc              
[root@localhost ~]# mount.cifs //192.168.235.1/LNMP /abc 
##挂载到/abc目录下

2、解压源码包、安装编译需要的环境组件包

[root@localhost ~]# cd /abc    ##切换到挂载点目录
[root@localhost abc]# ls
Discuz_X3.4_SC_UTF8.zip    nginx-1.12.2.tar.gz
mysql-boost-5.7.20.tar.gz  php-7.1.10.tar.gz
[root@localhost abc]# tar zxvf nginx-1.12.2.tar.gz -C /opt   ##解压Nginx源码包到/opt下
[root@localhost abc]# cd /opt/    ##切换到解压的目录下
[root@localhost opt]# ls
nginx-1.12.2  rh
[root@localhost opt]# yum -y install \
gcc \                                       //c语言
gcc-c++ \                               //c++语言
pcre-devel \                     //pcre语言工具
zlib-devel                       //数据压缩函数库

3、创建程序用户nginx并编译Nginx

[root@localhost opt]# useradd -M -s /sbin/nologin nginx  ##创建程序用户,限定其
[root@localhost opt]# cd nginx-1.12.2/                 ##切换到nginx目录下
[root@localhost nginx-1.12.2]# ./configure \         ##配置nginx
> --prefix=/usr/local/nginx \        ##安装路径
> --user=nginx \                         ##用户名
> --group=nginx \                       ##用户组
> --with-http_stub_status_module     ##访问状态统计模块

4、编译和安装

[root@localhost nginx-1.12.2]#make && make install

5、优化Nginx服务启动脚本,并建立命令软链接

[root@localhost nginx]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ 
##创建软连接让系统识别nginx启动脚本
[root@localhost nginx]# nginx -t       ##检查配置文件的语法问题
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost nginx]# nginx      ##开启ngnix
[root@localhost nginx]# netstat -ntap | grep 80     ##查看端口,nginx已经开启
tcp   0   0 0.0.0.0:80      0.0.0.0:*   LISTEN   39620/nginx: master 
[root@localhost nginx]# systemctl stop firewalld.service    ##关闭防火墙
[root@localhost nginx]# setenforce 0 
[root@localhost nginx]# nginx                         ##开启nginx 服务

6、systemctl管理nginx脚本

[root@localhost ~]# vim /lib/systemd/system/nginx.service      ##创建配置文件

[Unit]
Description=nginx                                            ##描述
After=network.target                                        ##描述服务类型
[Service]
Type=forking                                                    ##后台运行形式
PIDFile=/usr/local/nginx/logs/nginx.pid            ##PID文件位置
ExecStart=/usr/local/nginx/sbin/nginx              ##启动服务
ExecReload=/usr/bin/kill -s HUP $MAINPID    ##根据PID重载配置
ExecStop=/usr/bin/kill -s QUIT $MAINPID       ##根据PID终止进程
PrivateTmp=true
[Install]
WantedBy=multi-user.target

[root@localhost ~]# chmod 754 /lib/systemd/system/nginx.service     ##设置执行权限
[root@localhost ~]# systemctl stop nginx.service       ##关闭nginx 
[root@localhost ~]# systemctl start nginx.service       ##开启

7、修改Nginx.conf配置文件

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

 location ~ \.php$ {
            proxy_pass   http://192.168.235.137;
            ##解除此三行的注释,并将地址指向Nginx服务的IP地址
        }

[root@localhost ~]# systemctl stop nginx.service   
##停止服务

[root@localhost ~]# systemctl start nginx.service  
##启动服务
[root@localhost ~]# systemctl stop firewalld.service 
##关闭防火墙
[root@localhost ~]# setenforce 0
##关闭增强型安全功能

三、验证动静分离效果

访问192.168.235.158/index.html的Nginx静态网页
Nginx与Apache——动静分离实操
访问192.168.235.158/index.php的Nginx转发给LAMP的动态网页
Nginx与Apache——动静分离实操

即实现了动态网页和静态网页的分开浏览

相关内容

热门资讯

重磅消息“乐成棋牌.怎么开挂?... 有 亲,根据资深记者爆料乐成棋牌是可以开挂的,确实有挂(咨询软件无需打开...
终于明白“新版悟空牛牛.有挂吗... 有 亲,根据资深记者爆料新版悟空牛牛是可以开挂的,确实有挂(咨询软件无需...
终于明白“微乐陕西挖坑.怎么开... 家人们!今天小编来为大家解答微乐陕西挖坑透视挂怎么安装这个问题咨询软件客服徽4282891的挂在哪里...
今日重大消息“夏天yy.可以开... 今日重大消息“夏天yy.可以开挂吗?”确实真的有挂您好,夏天yy这个游戏其实有挂的,确实是有挂的,需...
最新引进“同城乐吧.怎么装挂?... 有 亲,根据资深记者爆料同城乐吧是可以开挂的,确实有挂(咨询软件无需打开...
【第一财经】“山西大唐麻将.真... 您好:山西大唐麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
终于了解“兴义水鱼.是不是有挂... 网上科普关于“兴义水鱼有没有挂”话题很是火热,小编也是针对兴义水鱼作*弊开挂的方法以及开挂对应的知识...
玩家最新攻略“微信链接牛牛.有... 网上科普关于“微信链接牛牛有没有挂”话题很是火热,小编也是针对微信链接牛牛作*弊开挂的方法以及开挂对...
终于懂了“微乐贵阳麻将.究竟有... 终于懂了“微乐贵阳麻将.究竟有挂吗?”太坑了原来有挂您好,微乐贵阳麻将这个游戏其实有挂的,确实是有挂...
玩家攻略科普“蛮王牛牛.可以开... 有 亲,根据资深记者爆料蛮王牛牛是可以开挂的,确实有挂(咨询软件无需打开...