CentOS 7.6 yum安装LAMP架构+Nginx实现动静分离

一、搭建LAMP架构

服务器:192.168.245.120(CentOS 7.6)

1、安装Apache

[root@server opt]# yum -y install httpd httpd-devel -y

[root@server opt]# systemctl start httpd.service
[root@server opt]# netstat -antp| grep 80
tcp6       0      0 :::80                   :::*                    LISTEN      7845/httpd

2、安装mariadb

mariadb是mysql的一个分支,是一款完全兼容mysql的开源软件,主要由开源社区在维护,采用GPL授权许可。开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险。 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB,端口也是3306

第一步:yum安装mariadb

[root@server opt]# yum -y install mariadb mariadb-server mariadb-libs mariadb-devel
[root@server opt]# systemctl start mariadb.service
[root@server opt]# netstat -antp | grep 3306
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      8163/mysqld  

第二步:为数据库设置密码

[root@server opt]# mysql_secure_installation <---设置数据库密码

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

Enter current password for root (enter for none): <---输入当前root的密码,直接回车
OK, successfully used password, moving on...
Set root password? [Y/n] y    <---是否设置root密码
New password: 
Re-enter new password: 
Password updated successfully!
Reloading privilege tables..
 ... Success!
Remove anonymous users? [Y/n] n   <---是否移除匿名用户
 ... skipping.
Disallow root login remotely? [Y/n] n    <---是否不允许root远程登录
 ... skipping.
Remove test database and access to it? [Y/n] n   <---是否移除测试数据库
 ... skipping.
Reload privilege tables now? [Y/n] y    <---是否重载数据库表
 ... Success!

3、安装php

[root@server opt]# yum -y install php
[root@server opt]# yum -y install php-mysql  <----安装PHP组件,使PHP支持MySQL 

[root@server opt]# 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

[root@server opt]# vim /var/www/html/index.php   <----编写php网页
<?php
  phpinfo();
?>
[root@server opt]# systemctl restart httpd   <----因为装了php需要重启web服务

客户机测试用apache访问php网页正常
在这里插入图片描述

二、动静分离的实现

服务器:192.168.245.140(CentOS 7.6)

1、源码安装nginx

[root@server opt]# yum -y install pcre pcre-devel zlib zlib-devel gcc gcc-c++ make   <----安装nginx之前需要安装的库
[root@server opt]# tar xzfv nginx-1.12.2.tar.gz
[root@server opt]# cd nginx-1.12.2/
[root@server nginx-1.12.2]#./configure \
--prefix=/usr/local/nginx \   <-----指定安装目录
--user=nginx \     <-----指定管理用户名
--group=nginx \    <-----指定管理组名
--with-http_stub_status_module   <---流量统计一定要加上这个模块

[root@server nginx-1.12.2]#make && make install
[root@server nginx-1.12.2]# useradd -M -s /sbin/nologin nginx
[root@server nginx-1.12.2]# 
[root@server nginx-1.12.2]# 
[root@server nginx-1.12.2]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[root@server conf]# vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
PIDFile =/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/bin/kill -S HUP $MAINPID
ExecStop=/usr/bin/kill -S QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

[root@server conf]# chmod 754 /lib/systemd/system/nginx.service
[root@server nginx-1.12.2]# yum -y install elinks   <---可以在命令行连接网页
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
正在解决依赖关系
--> 正在检查事务
---> 软件包 elinks.x86_64.0.0.12-0.37.pre6.el7.0.1 将被 安装

在这里插入图片描述

2、启用动静分离

只需要在nginx的配置文件中找到php这一段启用即可,proxy_pass后面的ip是apache服务器的ip地址,因为nginx收到动态页面请求时将它交给apache处理

[root@server nginx-1.12.2]# vim /usr/local/nginx/conf/nginx.conf
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        location ~ \.php$ {
            proxy_pass   http://192.168.245.120;
        }

[root@server nginx-1.12.2]# systemctl start nginx   <---启动nginx服务

3、验证动静分离

客户机:192.168.245.10(win10,谷歌浏览器)

客户机先访问一下nginx的默认主页正常
在这里插入图片描述
再访问一个本地的php网页发现可以访问,动静分离成功
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/shengjie87/article/details/107967107