LAMP 搭建练习
LAMP 搭建
1:CentOS 7, lamp (module);
(1) 三者分离于两台主机
(2) 一个虚拟主机提供phpMyAdmin;另一个虚拟主机提供wordpress
(3) xcache
(4) 为phpMyAdmin提供https虚拟主机
http + php + phpMyAdmin + wordpress 192.168.1.7
yum install http php
yum install php-mbstring
unzip phpMyAdmin-4.0.10.20-all-languages.zip
mv phpMyAdmin-4.0.10.20-all-languages /var/www/html/phpMyAdmin
cd /var/www/html/phpMyAdmin/
cp config.sample.inc.php config.inc.php
vim config.inc.php
$cfg['blowfish_secret'] = 'a8asdasdfgh11946d';
$cfg['Servers'][$i]['host'] = '192.168.1.10';
tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /var/www/html/
cd /var/www/html/wordpress
cp wp-config-sample.php wp-config.php
vim wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'http');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'centos');
/** MySQL主机 */
define('DB_HOST', '192.168.1.10');
访问wordpress页面安装
systemctl restart httpd
配置虚拟主机
xcache
参考 LAMP PHP 详解 编译安装xcache 文章
phpMyAdmin提供https虚拟主机
mysql 192.168.1.10
yum install mysql
mysql_secure_installation
grant all on *.* to http@'192.168.1.%' identified by 'centos';
2:CentOS 7, lamp (php-fpm)
(1) 三者分离于三台主机
(2) 一个虚拟主机提供phpMyAdmin;另一个虚拟主机提供wordpress
(3) xcache
见独立笔记
3:CentOS 6, lamp (编译安装,模块或php-fpm)
注意:在没有nfs的情况下,如果把php和http分离,需要把网页在php服务器和html服务器,各放一份。!!
| 主机IP | 系统 | 部署服务 |
|---|---|---|
| 192.168.1.14 | Centos6 | apache |
| 192.168.1.12 | Centos6 | php-fpm |
| 192.168.1.13 | Centos6 | mysql5.6 |
(1) 三者分离于两台或三台主机
(2) 一个虚拟主机提供phpMyAdmin;另一个虚拟主机提供wordpress
(3) xcache
(4) 尝试mpm为非prefork机制
搭建 apache / 192.168.1.14 (centos6)
#编译环境
yum groupinstall Development -y
yum install pcre-devel openssl-devel expat-devel -y
# apache 账户
groupadd -r -g 80 apache
useradd -r -s /sbin/nologin -g 80 -u 80 apache
#解压包
cd /alidata/
tar xvf httpd-2.4.33.tar.bz2
tar xvf apr-util-1.6.1.tar.gz
tar xvf apr-1.6.3.tar.gz
mv apr-1.6.3 httpd-2.4.33/srclib/apr
mv apr-util-1.6.1 httpd-2.4.33/srclib/apr-util
cd httpd-2.4.33
#编译
./configure --prefix=/alidata/httpd --with-mpm=prefork --enable-so --enable-rewrite --enable-mods-shared=all --enable-nonportable-atomics=yes --disable-dav --enable-deflate --enable-cache --enable-disk-cache --enable-mem-cache --enable-file-cache --enable-ssl --with-included-apr --enable-modules=all --enable-mods-shared=all --enable-cgi
#这条命令可以查看 CPU数
cat /proc/cpuinfo |grep processor |wc -l
make -j 12
make install
#添加环境变量和启动脚本
echo PATH=/alidata/httpd/bin:$PATH > /etc/profile.d/http.sh
cp /alidata/httpd/bin/apachectl /etc/init.d/httpd
#配置主配置文件 (表示要更改和新增的行) 主要是启动模块,修改默认目录,主页
vim /alidata/httpd/conf/httpd.conf
#去掉下面两行注释启动模块
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so
#修改主机名和默认目录
ServerName www.ddz.com:80
#DocumentRoot "/alidata/httpd/htdocs"
DirectoryIndex index.php index.html
#添加解析
AddType application/x-httpd-php .php
Addtype application/x-httpd-php-source .phps
#关闭正向代理,转发到php服务器,这两行不用,因为后面要配置虚拟主机,所以写在虚拟主机的配置里
#ProxyRequests Off
#ProxyPassMatch ^/(.*\.php)$fcgi://192.168.1.13:9000/app/httpd24/htdocs/$1
#允许主配置文件使用虚拟主机配置 取消该行注释
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
配置phpmyadmin 和 wordpress 的虚拟主机配置
#先创建目录
mkdir -pv /alidata/vhosts/{phpmyadmin,wordpress}
mkdir -pv /var/log/httpd
#配置文件
vim /alidata/httpd/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "/alidata/vhosts/phpmyadmin"
ServerName www.phpmyadmin.com
ErrorLog "/var/log/httpd/phpmyadmin-error_log"
CustomLog "/var/log/httpd/phpmyadmin-access_log" common
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.12:9000/alidata/vhosts/phpmyadmin/$1
<Directory "/alidata/vhosts/phpmyadmin">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/alidata/vhosts/wordpress"
ServerName www.blog.com
ErrorLog "/var/log/httpd/wordpress-error_log"
CustomLog "/var/log/httpd/wordpress-access_log" common
ProxyRequests Off
ProxyPassMatch ^/(.*\.php)$ fcgi://192.168.1.12:9000/alidata/vhosts/wordpress/$1
<Directory "/alidata/vhosts/wordpress">
Options none
AllowOverride none
Require all granted
</Directory>
</VirtualHost>
至此,apache服务配置完成,重启即可
apachectl restart
service httpd restart
搭建 mysql (5.6) / 192.168.1.14 (centos6)
hostname mysql
yum groupinstall Development -y
yum -y install bison bison-devel zlib-devel libcurl-devel libarchive-devel boost-devel gcc gcc-c++ cmake ncurses-devel gnutls-devel libxml2-devel openssl-devel libevent-devel libaio-devel (epel 源)
#准备数据目录
mkdir /alidata/mysqldb
chown mysql.mysql /alidata/mysqldb/
#准备包
cd /alidata/
wget https://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.37.tar.gz
tar xvf mysql-5.6.37.tar.gz
#准备账户
groupadd -r mysql -g 80
useradd -r -s /sbin/nologin -g 80 -u 80 mysql
#编译安装
cmake . -DCMAKE_INSTALL_PREFIX=/alidata/mysql -DMYSQL_DATADIR=/alidata/mysqldb/ -DSYSCONFDIR=/etc -DMYSQL_USER=mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITHOUT_MROONGA_STORAGE_ENGINE=1 -DWITH_DEBUG=0 -DWITH_READLINE=1 -DWITH_SSL=system -DWITH_ZLIB=system -DWITH_LIBWRAP=0 -DENABLED_LOCAL_INFILE=1 -DMYSQL_UNIX_ADDR=/alidata/mysqldb/mysql.sock -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
make -j 12
make install
#添加变量
echo 'PATH=/alidata/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
. /etc/profile.d/mysql.sh
cd /alidata/mysql
#初始化数据库
scripts/mysql_install_db --datadir=/alidata/mysqldb/ --user=mysql
#做启动服务
cp support-files/mysql.server /etc/init.d/mysqld
cd /etc/init.d/
chkconfig --add mysqld
#编辑数据库配置文件
vim /etc/my.cnf
[mysqld]
datadir=/alidata/mysqldb
socket=/alidata/mysqldb/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
log-bin
port=3306
skip-name-resolve
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/alidata/mysqldb/mysqld.pid
#启动服务
service mysqld start
#安全初始化
mysql_secure_installation
#创建管理账户
grant all on *.* to http@'192.168.1.%' identified by 'centos';
搭建php-fpm (php 7.1.18) / 192.168.1.12 (centos6)
#编译环境
yum groupinstall Development -y
yum install libxml2-devel bzip2-devel libmcrypt-devel -y
yum install pcre-devel openssl-devel expat-devel -y
#账户准备
groupadd -r -g 80 php
useradd -r -s /sbin/nologin -g 80 -u 80 php
cd /alidata/
tar xvf php-7.1.18.tar.bz2
cd php-7.1.18
#编译安装
./configure --prefix=/alidata/php --enable-mysqlnd --with-mysqli=mysqlnd --with-openssl --with-pdo-mysql=mysqlnd --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --enable-sockets --enable-fpm --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-maintainer-zts --disable-fileinfo
make -j 12
make install
#环境配置
echo 'PATH=/alidata/php/bin:$PATH' > /etc/profile.d/php.sh
. /etc/profile.d/php.sh
#创建配置文件
cp php.ini-production /etc/php.ini
#创建启动服务
cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod +x /etc/init.d/php-fpm
chkconfig --add php-fpm
chkconfig php-fpm on
#创建配置文件
cd /alidata/php/etc/
cp php-fpm.conf.default php-fpm.conf
cp php-fpm.d/www.conf.default php-fpm.d/www.conf
#修改配置文件
vim /alidata/php/etc/php-fpm.d/www.conf
#修改应用使用者
user = php
group = php
#监听端口和允许访问者
listen = 192.168.1.12:9000
listen.allowed_clients = 192.168.1.14
#看需求改
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 2
pm.max_spare_servers = 5
#看需求改
vim /etc/php.ini
memory_limit = 1024M
使用phpmyadmin 和 wordpress
phpmyadmin
#创建存放该服务的目录
mkdir -pv /alidata/vhosts/{phpmyadmin,wordpress}
mkdir -pv /var/log/httpd
cd /alidata/
unzip phpMyAdmin-4.8.1-all-languages.zip
mv phpMyAdmin-4.8.1-all-languages/* vhosts/phpmyadmin/
#创建配置文件
cd vhosts/phpmyadmin/
mv config.sample.inc.php config.inc.php
#生成随机字符串
openssl rand -base64 18
vim config.inc.php
$cfg['Servers'][$i]['host'] = '192.168.1.13';
#由于没有nfs 所以复制一份一毛一样的去apache 服务器
scp -r phpmyadmin/* root@192.168.1.14:/alidata/vhosts/phpmyadmin/
wordpress
cd /alidata/
tar xvf wordpress-4.9.4-zh_CN.tar.gz -C /alidata/vhosts/
cd /alidata/vhosts
chown -R root.root wordpress/
#设置配置文件
cd wordpress/
cp wp-config-sample.php wp-config.php
vim wp-config.php
define('DB_NAME', 'wpdb');
define('DB_USER', 'http');
define('DB_PASSWORD', 'centos');
define('DB_HOST', '192.168.1.13');
scp -r wordpress root@192.168.1.14:/alidata/vhosts/
setfacl -R -m u:php:rwx wordpress/
LAMP 搭建练习的更多相关文章
- 买错的电影票,含着泪也得看-LAMP搭建&Linux基础
hi 没说过,上周五室友过生请客,在龙湖里吃嗨了喝爽了,回去的路上侃侃而谈.说好的这周一起去看年内最后的大片,火星救援的,谁知道老子眼神不好,买错了电影的时间...把周六的约定提前到了今儿个下午,ma ...
- (原创)LAMP搭建之二:apache配置文件详解(中英文对照版)
LAMP搭建之二:apache配置文件详解(中英文对照版) # This is the main Apache server configuration file. It contains the # ...
- (原创)LAMP搭建之一:图解如何安装并检查LAMP
LAMP搭建之一:图解如何安装并检查LAMP 第一步:安装Linux(RedHat5) 第二步:rpm -qa httpd(查看apache是否安装) rpm -qa php(查看php是否安装) r ...
- LAMP 搭建wordpress部署教程贴.
LAMP 搭建wordpress部署教程贴.这是一篇主要将LAMP,并且通过wordpress来进行验证,演示.如何去部署PHP CMS很多新手看到LAMP就很很头大,觉得很难搞,编译安装,搞了好几天 ...
- Ubuntu 14.04 LAMP搭建(Apache 2.47+MySQL 5.5+PHP5.5)
原文:Ubuntu LAMP搭建 为了数据库课程设计,只好自己搭一个数据库系统,采用LAMP方式. 一.安装 1.安装Apache sudo apt-get install apache2 Apach ...
- LVS之-LAMP搭建wordpress
author:JevonWei 版权声明:原创作品 LVS搭建wordpress,涉及的知识点有DNS,LAMP,NFS及LVS 网络拓扑图 网络环境 NFS 192.168.198.130 mysq ...
- LAMP 搭建
p { margin-bottom: 0.25cm; line-height: 120% } LAMP 搭建 承 Ubuntu 17.10.1安装, 定制. 参考 电子工业出版社, Ubuntu完美应 ...
- Linux:LAMP搭建DISCU!论坛
LAMP搭建DISCU!论坛 试验机为centos6.8 i686 应用的包 mysql-5.1.73-linux-i686-glibc23.tar.gz httpd-2.2.24.tar.bz2 p ...
- 生产环境LAMP搭建 - 基于 fastcgi
生产环境LAMP搭建 - 基于 fastcgi 由于在module模式,php只是已http的模块形式存在,无形中加重了http的服务负载,通常在企业架构中,使用fastcgi的模式,将所有的服务都设 ...
随机推荐
- 记录一个调试REST风格的web服务的client
coogle浏览器的advanced rest client很好用,记录一下,脑子不好,容易忘,,可以在chrome 的网上应用店添加 Rest client是用来调试REST风格的Web服务,接收P ...
- Java多线程与并发——线程生命周期和线程池
线程生命周期: 线程池:是预先创建线程的一种技术.线程池在还没有任务到来之前,创建一定数量的线程,放入空闲队列中,然后对这些资源进行复用.减少频繁的创建和销毁对象. java里面线程池的顶级接口是E ...
- QT学习小demo之LightMD(MarkDown编辑器)
很早之前就有了写一个类似Windows记事本的想法,加上最近也刚好在学编译原理,所以就想把两者结合起来,于是就打算结合MarkDown,开发一款MarkDown编辑器. 不过由于我之前一直使用的是Ja ...
- SpringBoot源码篇:深度分析SpringBoot如何省去web.xml
一.前言 从本博文开始,正式开启Spring及SpringBoot源码分析之旅.这可能是一个漫长的过程,因为本人之前阅读源码都是很片面的,对Spring源码没有一个系统的认识.从本文开始我会持续更新, ...
- 有限状态机在单片机和 Arduino 编程中的应用
有限状态机在单片机和 Arduino 编程中的应用,个人认为在实际中这是一种思想,意味着解决一类问题. 本帖最后由 张飞 于 2015-3-4 20:18 编辑 在单片机编程中,如果在不使用操作系统的 ...
- vue简单的CheckBox节点树
初学vue.js,恰好公司有个页面需要做一个简单的CheckBox组成的节点树,于是摸索着写了一个. 业务逻辑为:选中父节点,子节点全部选中:取消选中父节点,子节点全部取消:选中字节点,父节点选中. ...
- Browser Window
Window 对象 Window对象表示浏览器中打开的窗口. 如果文档包含框架(iframe或iframe标签),浏览器会被html文档创建一个window对象,并为每个框架创建一个额外的window ...
- 【Java/Android性能优 6】Android 图片SD卡缓存 使用简单 支持预取 支持多种缓存算法 支持不同网络类型 支持序列化
本文转自:http://www.trinea.cn/android/android-imagesdcardcache/ 本文主要介绍一个支持图片自动预取.支持多种缓存算法.支持数据保存和恢复的图片Sd ...
- WIn10 电脑运行Docker
参考地址: https://www.cnblogs.com/linjj/p/5606687.html https://docs.docker.com/engine/reference/commandl ...
- VMware下Centos6.4安装
VMware(Virtual Machine ware)是一个“虚拟PC”软件公司,提供服务器.桌面虚拟化的解决方案. 小伙伴们网上下载VMware11,一路下一步自己安装吧!!! 打开 VMware ...