分布式部署LAMP

分主机部署lamp

httpd主机:192.168.152.140

php-fpm主机:192.168.152.141

mariadb主机:192.168.152.142

httpd

yum -y install httpd

vim /etc/httpd/conf.d/vhosts.conf

AddType application/x-httpd-php .php
DirectoryIndex index.php index.html
<VirtualHost *:80>
    ServerName www.test.com.
    DocumentRoot /http/vhosts/test.com
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.152.141:9000/var/www/test.com/$1     #192.168.152.141为php-fpm主机地址

    <Directory "/http/vhosts/test.com">
            Options none
            AllowOverride none
            Require all granted
    </Directory>
</Virtualhost>

<VirtualHost *:80>
    ServerName www.test1.com
    DocumentRoot /http/vhosts/test1.com
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.152.141:9000/var/www/test1.com/$1

    <Directory "/http/vhosts/test1.com">
            Options FollowSymLinks
            AllowOverride none
            Require all granted
    </Directory>
</Virtualhost>

注释掉/etc/httpd/conf/httpd.conf中的DocumentRoot

mkdir -pv /http/vhosts/test.com

php

yum -y install php php-fpm php-mysql

vim /etc/php-fpm.d/www.conf

listen = 192.168.152.141:9000   #此ip为监听php-fpm本机的9000端口,如只保留端口号即为监听任意ip的9000端口

listen.allowed_clients = 192.168.152.140   #此ip为允许访问php-fpm的主机,即httpd主机,注释掉表示允许任意主机访问

mkdir -pv /var/www/test.com

vim /var/www/test.com/index.php

<?php
    phpinfo();
?>

访问140主机出现php信息页说明httpd和php部署成功

mariadb

yum -y install mariadb-server

vim /etc/my.cnf

[mysqld]

innodb_file_per_table = ON
skip_name_resolve = ON

mysql

GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘192.168.152.141‘ IDENTIFIED BY PASSWORD ‘passwd‘  #ip为需要访问mysql的php-fpm的主机地址,即授权php-fpm主机可以访问mariadb

编辑141主机,测试php-mysql连通性

vim /var/www/test.com/index.php

<?php
    $link = mysql_connect(‘192.168.152.142‘,‘root‘,‘12345678‘);
    if($link)
            echo "Success...";
    else
            echo "Failed....";
    mysql_close;
?>

页面出现Success即为成功

xcache

yum -y groupinstall "Development Tools" "Server Platform Development"

yum install php-devel

wget xcache-3.2

tar xf xcache-3.2.tar.bz2

cd xcache-3.2.0

phpize   #generate configure script to php environment

./configure --enable-xcache --with-php-config=/usr/bin/php-config

make && make install

cp xcache.ini /etc/php.d/

vim /etc/php.d/xcache.ini   #makesure xcache.admin.enable_auth = ON;xcache.size = 60M

systemctl restart httpd.service

wordpress

192.168.152.140



cd /http/vhosts/test.com

wget https://cn.wordpress.org/wordpress-4.5-zh_CN.tar.gz

tar xf wordpress-4.5-zh_CN.tar.gz

cd wordpress/

cp wp-config-sample.php wp-config.php

vim wp-config.php

/** WordPress数据库的名称 */
define(‘DB_NAME‘, ‘wordpressdb‘);

/** MySQL数据库用户名 */
define(‘DB_USER‘, ‘wpuser‘);

/** MySQL数据库密码 */
define(‘DB_PASSWORD‘, ‘12345678‘);

/** MySQL主机 */
define(‘DB_HOST‘, ‘127.0.0.1‘);

192.168.152.141



cd /var/www/test.com

wget https://cn.wordpress.org/wordpress-4.5-zh_CN.tar.gz

tar xf wordpress-4.5-zh_CN.tar.gz

cd wordpress/

cp wp-config-sample.php wp-config.php

vim wp-config.php

/** WordPress数据库的名称 */
define(‘DB_NAME‘, ‘wordpressdb‘);

/** MySQL数据库用户名 */
define(‘DB_USER‘, ‘wpuser‘);

/** MySQL数据库密码 */
define(‘DB_PASSWORD‘, ‘12345678‘);

/** MySQL主机 */
define(‘DB_HOST‘, ‘127.0.0.1‘);

phpmyadmin



192.168.152.141



yum -y install php-mbstring

cd /var/www/test1.com

wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15.5/phpMyAdmin-4.4.15.5-all-languages.tar.bz2

tar xf phpMyAdmin-4.4.15.5-all-languages.tar.bz2

ln -sv phpMyAdmin-4.4.15.5-all-languages pma

cd phpMyAdmin-4.4.15.5-all-languages/

cp config.sample.inc.php config.inc.php

yum -y install php-mbstring

openssl rand -base64 20

vim config.inc.php

$cfg[‘blowfish_secret‘] = ‘4Nf696qH4QG/rZM5EOkkSJyXFBs‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */


192.168.152.140



cd /http/vhosts/test.com

wget https://files.phpmyadmin.net/phpMyAdmin/4.4.15.5/phpMyAdmin-4.4.15.5-all-languages.tar.bz2

tar xf phpMyAdmin-4.4.15.5-all-languages.tar.bz2

ln -sv phpMyAdmin-4.4.15.5-all-languages pma

cd phpMyAdmin-4.4.15.5-all-languages/

cp config.sample.inc.php config.inc.php

yum -y install php-mbstring

openssl rand -base64 20

vim config.inc.php

$cfg[‘blowfish_secret‘] = ‘4Nf696qH4QG/rZM5EOkkSJyXFBs‘; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

https

为phpmyadmin添加https访问

192.168.152.141作CA

192.168.152.140作SERVER

CA

cd /etc/pki/CA

(umask 077;openssl genrsa -out private/cakey.pem 2048)

openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3655

country name
state or province name
locality name
organization name
organization unit name
common name
email address

touch serial index.txt

echo 01 > serial

SERVER

cd /etc/httpd/

mkdir ssl

(umask 077;openssl genrsa -out httpd.key 1024)

openssl req -new -key httpd.key -out httpd.csr

country name
state or province name
locality name
organization name
organization unit name
common name
email address

把生成的证书签署请求httpd.csr发送到CA端作签署

CA端签署证书

openssl ca -in /任意目录/httpd.csr -out /etc/pki/CA/certs/httpd.crt

把签署完的证书发还到SERVER

在SERVER端

yum -y install mod_ssl  #安装支持ssl的模块

vim /etc/httpd/conf.d/ssl.conf  #编辑ssl配置文件 编辑前做好备份

<VirtualHost _default_:443>

    ServerName www.test1.com
    DocumentRoot /http/vhosts/test1.com
    ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.152.141:9000/var/www/test1.com/$1

    <Directory "/http/vhosts/test1.com">
            Options FollowSymLinks
            AllowOverride none
            Require all granted
    </Directory>

    SSLEngine on

    SSLCertificateFile /etc/httpd/ssl/httpd.crt

    SSLCertificateKeyFile /etc/httpd/ssl/httpd.key

</VirtualHost>

把/etc/httpd/conf.d/vhosts.conf配置文件中第二个VirtualHost注释掉避免冲突

httpd -t    #检查语法错误

systemctl restart httpd.service   #重启httpd服务使配置生效

时间: 2024-10-16 20:32:44

分布式部署LAMP的相关文章

分布式部署lamp,phpmyadmin,wordpress的安装与应用

系统环境:centos7,httpd-2.4,php-5.5,mariadb5.5 192.168.1.20 httpd 192.168.1.30 PHP 192.168.1.40 mariadb 修改客户机hosts文件 [[email protected] Desktop]# vim /etc/hosts 127.0.0.1  localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1        local

Zabbix基于Proxy分布式部署实现Web监控

前言 在日常运维工作中,难免会遇到这样或那样的故障,如何能在第一时间发现故障,并及时定位故障原因,保证业务不受影响,我想这应该是做好一个运维必须要掌握的技能.但人力不可能实时掌控系统的变化,于是监控系统应运而生,监控便是运维的眼睛,把监控和性能管理做好后,运维就是一件很轻松的事情.目前比较流行的开源监控工具有Cacti.Nagios(Icinga).Zabbix等.本文带来的是Zabbix基于Proxy分布式部署实现Web监控. Zabbix 简介 Zabbix是一个基于Web界面提供分布式系统

使用Ansible部署LAMP环境

使用Ansible部署LAMP环境 前言 Ansible在部署实验环境真的很好用,今天向大家分享如何使用Ansible部署LAMP环境. 实验环境 今天实验环境比较简单, 所以就不画图了 主机 IP地址 功用 server1.anyisalin.com 172.16.1.2 控制主机 web.anyisalin.com 172.16.1.3 httpd和php data.anyisalin.com 172.16.1.4 MySQL 实验步骤 配置ssh公钥认证 ansible是agentless

Centos 7中部署LAMP

在Centos 7中部署LAMP(Linux,Apache,MariaDB,PHP) 说明:Centos 7中用MariaDB替换MySQL,但是PHP连接MariaDB还是使用的php-mysql模块. [来自维基百科]MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可.开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜在风险,因此社区采用分支的方式来避开这个风险.MariaDB的目的是完全兼容MySQL,包括API和命令行

Apache/nginx转发设置-分布式部署(转)

转自http://blog.csdn.net/fujianianhua/article/details/8062234 Apache转发设置 1.  Weblogic安装 Weblogic8和Weblogic10默认安装,选择完全安装即可,如果是Weblogic9则选择自定义安装,勾选WebService plugin 2.apache服务器安装 安装说明详见文档<Apache服务器搭建说明.doc> 版本对应关系: Weblogic版本   Apache版本 weblogic8     Ap

【G】开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的

G.系列导航 [G]开源的分布式部署解决方案 - 预告篇 [G]开源的分布式部署解决方案(一) - 开篇 [G]开源的分布式部署解决方案(二) - 好项目是从烂项目基础上重构出来的 分析目前项目结构 眼前出现这么一坨坨的文件夹,相信很多人已经看不下去了.是的,首先就是要把它给做掉. 按照这个项目文件夹的命名意图,大概可以划分如下: 1.Business:业务代码 2.Data:数据访问 3.Helpers:辅助类(通用类库之类的) 4.Models:各种模型(包括视图模型) 5.theme:皮肤

Hadoop2经典分布式部署模式

Hadoop2经典分布式部署模式 基于QJN的HA模式的分布式部署,不含Federation模块的实践是一个经典的Hadoop2的高可用的分布式部署模式. 1.准备测试环境 准备4台PC服务器做Hadoop2部署 ip hostname namenode fc datanode rm nodemanage QJN 10.71.84.237 hadoop201 Y Y Y Y Y Y 10.71.84.223 hadoop202 Y Y Y Y Y Y 10.71.84.222 hadoop203

基于模块类型php部署LAMP

前言: L:Linux A:Apache M:MariaDB P:PHP 当我们要基于模块PHP去部署LAMP时,需要在两台主机上进行操作,一台主机提供http以及php,另一台主机提供MariDB. 本博客就基于模块类型的PHP部署两台服务器的LAMP: 如图所示:我们要基于此种模型进行部署: 第一部分: 首先我们要准备两台Linux(CentOS7)主机:一台主机作为HTTP/PHP主机: 第一步:(部署httpd/php) eno16777736: flags=4163<UP,BROADC

Apache Spark探秘:三种分布式部署方式比较

目前Apache Spark支持三种分布式部署方式,分别是standalone.spark on mesos和 spark on YARN,其中,第一种类似于MapReduce 1.0所采用的模式,内部实现了容错性和资源管理,后两种则是未来发展的趋势,部分容错性和资源管理交由统一的资源管理系统完成:让Spark运行在一个通用的资源管理系统之上,这样可以与其他计算框架,比如MapReduce,公用一个集群资源,最大的好处是降低运维成本和提高资源利用率(资源按需分配).本文将介绍这三种部署方式,并比