Apache和LNMP架构做动静分离

Apache和LNMP架构做动静分离nginx的静态处理能力很强,动态处理能力不足,所以要把动态的页面交给Apache,实现动静分离。
先安装apache服务[root@localhost ~]# yum install httpd httpd-devel -y ##安装apacher软件包[root@localhost ~]# 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去客户机测试一下能不能访问apache网站
安装LNMP架构(简易安装)MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。
安装数据库yum install mariadb mariadb-server mariadb-libs mariadb-devel -y #安装数据库组件[root@localhost ~]# systemctl start mariadb [root@localhost ~]# netstat -natap | grep 3306tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 15154/mysqld 配置数据库[root@localhost ~]# mysql_secure_installation NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MariaDB to secure it, we'll need the currentpassword for the root user. If you've just installed MariaDB, andyou haven't set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none): ##按回车Set root password? [Y/n] y ##是否设置密码New password: #输入你的密码Re-enter new password: Remove anonymous users? [Y/n] y ##是否删除匿名用户,不删Disallow root login remotely? [Y/n] n ##是否让root用户远程登录Remove test database and access to it? [Y/n] n ##是否删除测试数据库Reload privilege tables now? [Y/n] y ##是否加载里面的属性列表安装PHPyum -y install php##建立php和mysql关联yum install php-mysql -y##安装php插件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-bcmathcd /var/www/htmlvim index.php ##写上PHP网页<?php phpinfo();?>[root@localhost html]# systemctl restart httpd.service 用客户机去测试一下能不能访问到PHP
再开一台Linux作为Nginx处理静态请求[root@localhost ~]# yum install pcre-devel zlib-devel gcc gcc-c++ -y ##安装环境包[root@localhost ~]# useradd -M -s /sbin/nologin nginx ##创建程序性用户[root@localhost ~]# mkdir /chen ##创建挂载点[root@localhost ~]# mount.cifs //192.168.100.23/LNMP /chen ##挂载Password for root@//192.168.100.23/LNMP: [root@localhost chen]# tar zxvf nginx-1.12.2.tar.gz -C /opt/ ##解压[root@localhost chen]# cd /opt/[root@localhost opt]# lsnginx-1.12.2 rh[root@localhost opt]# cd nginx-1.12.2/[root@localhost nginx-1.12.2]# lsauto CHANGES.ru configure html man srcCHANGES conf contrib LICENSE README./configure \ ##安装组件--prefix=/usr/local/nginx \ ##指定路径--user=nginx \ ##指定用户--group=nginx \ ##指定组--with-http_stub_status_module ##状态统计模块[root@localhost nginx-1.12.2]# make && make install ##编译[root@localhost nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/ ##做软连接[root@localhost nginx-1.12.2]# nginx -t ##检查语法nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is oknginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful写nginx脚本放在系统启动脚本中方便service管理器管理[root@localhost nginx-1.12.2]# cd /etc/init.d/[root@localhost init.d]# vim nginx #!/bin/bash#chkconfig: - 99 20 #注释信息#description: Nginx Service Control ScriptPROG="/usr/local/nginx/sbin/nginx" #这个变量,指向我的命令文件PIDF="/usr/local/nginx/logs/nginx.pid" #这个变量,指向nginx的进程号case "$1" in start) $PROG ;; stop) kill -s QUIT $(cat $PIDF) ;; restart) $0 stop $0 start ;; reload) kill -s HUP $(cat $PIDF) ;; *) echo "Usage: $0 {start|stop|restart|reload}" exit 1esacexit 0开启服务,并测试网页是否生效[root@localhost init.d]# chmod +x nginx [root@localhost init.d]# chkconfig --add nginx [root@localhost init.d]# service nginx start [root@localhost init.d]# netstat -ntap | grep nginx tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 17544/nginx: master [root@localhost init.d]# systemctl stop firewalld.service[root@localhost init.d]# setenforce 0[root@localhost init.d]# yum install elinks -y[root@localhost init.d]# elinks http://192.168.136.162/ ##测试网站有没有生效
在nginx配置文件中把动态的请求给Apache处理,174这台服务器[root@localhost init.d]# vim /usr/local/nginx/conf/nginx.conf 59 location ~ \.php$ { 60 proxy_pass http://192.168.136.174; ##在sever这个区域,修改地址,把动态的请求转给174处理 61 } [root@localhost init.d]# service nginx stop[root@localhost init.d]# service nginx start去客户机测试一下动态的请求和静态的请求,输入192.168.136.174/index.php
输入192.168.136.174/index.html
了解更多网络知识关注:http://www.vecloud.com/