CentOS 6搭建个人博客&论坛(LAMP):WordPress、Discuz、
一、快速部署LAMP架构平台
1.CentOS 6系统部署
所需安装包:httpd, php, mysql-server, php-mysql
# yum install -y httpd phpmysql-server php-mysql
#service httpd start
#service mysqld start
2.CentOS 7系统部署
FastCGI方式实现所需程序包:httpd, php-fpm, php-mysql, mariadb-server
Modules方式实现所需程序包:httpd, php, php-mysql, mariadb-server
# yum install -y httpd phpphp-mysqlmariadb-server
#systemctl start httpd.service
#systemctl start mariadb.service
注意:CentOS 7默认httpd使用event模型,php默认编译成模块使用,其事件机制和模块会报错,要修改MPM
二、配置主机httpd的相关信息
1.创建网站根目录
[root@localhostconf]# mkdir -pv /www/{wordpress,discuz,phpMyAdmin}
2.配置虚拟主机
(1)注释掉/ect/httpd/conf/httpd.conf中心主机配置段
在"DocumentRoot "/var/www/html""前加#注释掉该行配置
(2)在/etc/httpd/conf.d/下定义虚拟主机配置文件
定义www.a.com为个人博客访问地址;www.b.com 为discuz论坛的访问地址
# vim virtual.conf
实例(注意17216.249.178为本机IP地址)
NameVirtualHost 172.16.249.178:80
<VirtualHost172.16.249.178:80>
<Directory"/www/wordpress">
OptionsFollowSymLinks
AllowoverrideNone
</Directory>
ServerNamewww.a.com
DocumentRoot"/www/wordpress"
</VirtualHost>
<VirtualHost172.16.249.178:80>
<Directory"/www/discuz">
OptionsFollowSymLinks
AllowoverrideNone
</Directory>
ServerNamewww.b.com
DocumentRoot"/www/discuz"
</VirtualHost>
<VirtualHost172.16.249.178:80>
<Directory "/www/phpMyAdmin">
OptionsFollowSymLinks
AllowoverrideNone
</Directory>
ServerName www.c.com
DocumentRoot "/www/phpMyAdmin"
</VirtualHost>
3.检查语法&重新加载配置文件
[root@localhostconf]# httpd -t
[root@localhostconf]# service httpd reload
4.外部浏览器测试(Windows本地主机)
(1)在/www/{wordpress,discuz}创建index.html作为站点主页
(2)在Windows中C:\Windows\System32\drivers\etc\host加入两条路由信息
172.16.249.178 www.a.com
172.16.249.178 www.b.com
172.16.249.178 www.c.com
(3)本地浏览器通过域名打开测试,会显示index.html信息
三、测试LAMP连接状态
1.httpd和php连接状态测试
(1)将任意目录下的一个index.html文件删除,新建index.php文件
(2)编辑index.php文件,写入php测试代码,显示php相关信息
<?php
phpinfo();
?>
(3)在浏览器输入网址,显示出php相关信息则php和httpd间能连接
2.确认mysql是否开启,能监听到3306端口则进程开启
[root@localhostwordpress]# service mysqld start
[root@localhostwordpress]# ss -tln
3.测试mysql和php连接关系
(1)授权能远程的连接用户&&刷新授权表权限
MySQL的命令行客户端程序:mysql
mysql>GRANT ALL PRIVILEGES ON db_name.tbl_name TO username@host IDENTIFIED BY 'password';
mysql> FLUSH PRIVILEGES;
实例解析:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'172.16.%.%' IDENTIFIED BY 'xuding';
mysql> FLUSH PRIVILEGES;
授权172.16网段所有主机以root用户,密码为xuding,可连接所有数据库
注意:生产环境中不能用root用户、不能连接所有数据库的表、且来源主机要限定
(2)新建/etc/my.cnf.d/server.cnf或者直接在/etc/my.cnf的[mysql] 段修改部分配置
skip_name_resolve= ON 或者skip_name_resolve = 1 防止主机名称反向解析
(3)在index.php添加php连接mysql的测试代码
<?php
$conn = mysql_connect('数据库主机','用户名','密码');
if($conn)
echo"OK";
else
echo"Failure";
?>