Apache PHP mairadb 分在3台服务器上

3 篇文章 0 订阅
2 篇文章 0 订阅

Apache PHP mairadb 分在3台服务器上

LAMP整体框架

这里写图片描述

Apache(192.168.6.6)

yum groupinstall "development tools"
yum install pcre-devel openssl-devel expat-devel

tar xvf httpd-2.4.27.tar.gz
tar xf apr-1.6.2.tar.gz -C /app/httpd-2.4.27/srclib/
tar xf apr-util-1.6.0.tar.gz -C /app/httpd-2.4.27/srclib/
cd /app/httpd-2.4.27/srclib/
mv apr-1.6.2/ apr
mv apr-util-1.6.0/ apr-util
cd ..

./configure --prefix=/app/httpd24 \
--enable-so --enable-ssl \
--enable-cgi \
--enable-rewrite \
--with-zlib --with-pcre \
--with-included-apr \
--enable-modules=most \
--enable-mpms-shared=all \
--with-mpm=prefork \
--enable-proxy \
--enable-proxy-fcgi

make && make install

php(192.168.6.16)

yum -y install bzip2-devel libmcrypt-devel libxml2-devel openssl-devel
# libmcrypt-devel需要epel源
yum groupinstall "development tools"
./configure --prefix=/app/php \
--enable-fpm \
--with-config-file-scan-dir=/etc/php.d \
--with-libxml-dir=/usr --with-openssl  \
--with-zlib --with-bz2 \
--with-jpeg-dir --with-png-dir \
--with-freetype-dir --enable-mbstring \
--with-mcrypt --enable-sockets --with-mysql=mysqlnd \
--with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd
注意:--with-mysql几个选项都要为mysqlnd;因为mysql服务器单独为另一台机器

make && make install
cp php.ini-production /etc/php.ini
cp sapi/fpm/init.d.php-fpm /etc/rc.d/init.d/php-fpm
chmod +x /etc/rc.d/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
chkconfig --list php-fpm
cd /app/php/etc
cp cp php-fpm.conf.default php-fpm.conf
vi php-fpm.conf

[global]

; Pid file

; Note: the default prefix is /usr/local/php/var

; Default Value: none

pid = run/php-fpm.pid #这项启用;下面几项对应的改为相应的值即可

;

pm.max_children = 50

; The number of child processes created on startup.

; Note: Used only when pm is set to 'dynamic'

service php-fpm start

ss -tunl | grep 9000

整合PHP和Apache

vi /usr/local/php/etc/php-fpm.conf

定位到listen;IP地址更改为别人可用访问进来的IP地址

listen = 192.168.6.16:9000

service php-fpm restart
ss -tnul | grep 9000

tcp    LISTEN    0      128        172.16.251.87:9000

#建立几个目录作为虚拟主机目录
到Apache主机上;找一个目录下面建立几个不同的目录作为虚拟主机目录;

vi /app/httpd24/conf/httpd.conf

# Virtual hosts

Include /etc/httpd24/extra/httpd-vhosts.conf #开启这项
最后加上
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps

定位至DirectoryIndex
DirectoryIndex index.php index.html #添加index.php

定位到LoadModule

LoadModule proxy_module modules/mod_proxy.so #开启

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so #开启

vi /etc/httpd24/extra/httpd-vhosts.conf  编辑虚拟主机

<VirtualHost *:80>
    ServerAdmin 123@qq.com
    DocumentRoot "/app/web1/"
    ServerName www.a.com
    ErrorLog "logs/dummy-host.example.com-error_log"
    CustomLog "logs/dummy-host.example.com-access_log" common

    ProxyRequests Off #关闭正向代理
    ProxyPassMatch ^/(.*\.php)$ fcgi://172.18.253.66:9000/app/php/web1/$1 #转到php服务器/app/php/web1目录
    <Directory /app/web1>
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerAdmin 123@qq.com
    DocumentRoot "/app/web2/"
    ServerName www.b.com
    ErrorLog "logs/dummy-host2.example.com-error_log"
    CustomLog "logs/dummy-host2.example.com-access_log" common

    ProxyRequests Off #关闭正向代理
    ProxyPassMatch ^/(.*\.php)$ fcgi://172.18.253.66:9000/app/php/web2/$1 #转到php服务器/app/php/web2目录
    <Directory /app/web2>
        Options none
        AllowOverride none
        Require all granted
    </Directory>
</VirtualHost>

mariadb二进制安装(192.168.6.17)

创建逻辑卷
createpv /dev/sdb /dev/sdc
createvg vg0 /dev/sdb /dev/sdc
createlv -n lv-mysql -L 100G vg0
mkfs.ext4 /dev/vg0/lv-mysql
mkdir /app/mydata
mount /dev/vg0/lv-mysql /app/mydata

安装数据库
tar xvf mariadb-5.5.57-linux-x86_64.tar.gz -C /usr/local/
cd /usr/local/
ln -sv mariadb-5.5.57-linux-x86_64/ mysql
cd mysql/
useradd -r -s /sbin/nologin mysql
chown mysql /app/mydata
scripts/mysql_install_db --datadir=/app/mydata/ --user=mysql
mkdir /etc/mysql
cp support-files/my-large.cnf /etc/mysql/my.cnf
vi /etc/mysql/my.cnf

[mysqld] #加一行
datadir         = /app/mydata

cp support-files/mysql.server /etc/init.d/mysqld

#添加环境变量
vi /etc/profile.d/mysql.sh
PATH=/usr/local/mysql/bin:$PATH
. /etc/profile.d/mysql.sh
#开机自启动
chkconfig --add mysqld
chkconfig mysqld on
chkconfig --list mysqld
#添加man手册
vi /etc/man.config
MANPATH /usr/local/mysql/man #添加一行

mkdir /var/log/mariadb
chown mysql /var/log/mariadb/
service mysqld start

#下面的较为重要;这是授权PHP主机可以访问的
mysql> grant all privileges on *.* to 'root'@'192.168.6.17' identified by '123456';

WordPress安装配置

在Apache和php主机对应的目录下下载WordPress软件包并解压

在数据库服务器上创建用户名、密码、数据库

create database wpdb;
grant all on wpdb.* to root@"192.168.6.16" identified by '123456';

然后访问博客目录,看是否成功。
涉及到访问数据库、PHP服务器时授权访问用户权限时要授权直接访问mysql服务器的用户,我们这个是PHP服务器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值