千家信息网

centos7 lamp(moudle)

发表于:2024-09-22 作者:千家信息网编辑
千家信息网最后更新 2024年09月22日,CentOS 7, lamp (module)要求:(1) 三者分离于两台主机;(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;(3) xcache(4)
千家信息网最后更新 2024年09月22日centos7 lamp(moudle)

CentOS 7, lamp (module)


要求:(1) 三者分离于两台主机;

(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;

(3) xcache

(4) 为phpMyAdmin提供https虚拟主机;



规划: 172.18.105.110 上运行http服务器以及php后端脚本

172.18.17.191 运行数据库


准备工作

我提前做好了DNS 两台A记录172.18.105.110 对应的FQDN 为www1.stu05.com www2.stu05.com





1.在172.18.105.110上yum install httpd php php-mysql -y 注:此时php是作为httpd的模块

在172.18.17.191 yum install mariadb.server -y 安装数据库


systemctl start httpd

扩展:2.4的http支持fastcgi,如果要使用把php替换成php-fpm



2.关闭中心主机的 #DocumentRoot "/var/www/html"



3.配置虚拟主机的根目录

mkdir -pv /web/vhosts/www1

mkdir -pv /web/vhosts/www2

4.配置基于FQDN的虚拟主机 vim /etc/httpd/conf.d/vhosts

虚拟主机一

ServerName www1.stu05.com

DocumentRoot "/web/vhosts/www1"

AllowOverride None

Options None

Require all granted


虚拟主机二

ServerName www2.stu05.com

DocumentRoot "/web/vhosts/www2"

AllowOverride None

Options None


检查语法httpd -t 时中间出现报错:

httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message


原因:httpd:不能可靠地确定服务器的完全限定域名,使用localhost.localdomain。设置' ServerName指令在全球范围内抑制此消息


解决办法:vim /etc/httpd/conf/httpd.conf 首先找到ServerName(约213行),将其设置为localhost:80


5.测试http的虚拟站点是否正常

vim /web/vhosts/www1 和 /web/vhosts/www1

vim index.html

www2站点 www2 ××× www1站点 www1 ×××

在浏览器里输入www1.stu05.com www2.stu05.com ---------------此时本地dns已经指向本地



6.rpm -ql php 检查 libphp5.so 模块是否对应着httpd启用的mpm模块为prefork

注意:测试前查看php的库是否和httpd的mpm的多道处理模块是否匹配

rpm查看库 rpm -ql php httpd查看启用模块 vim /etc/httpd/conf.modules.d/00-mpm.conf

php库:libphp5.so 模块:LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

php库:libphp5-zts.so 模块:LoadModule mpm_worker_module modules/mod_mpm_worker.so

LoadModule mpm_event_module modules/mod_mpm_event.so


7.测试httpd与php连通是否正常 vim /web/vhosts/www1 和 /web/vhosts/www1

vim index.php

php测试代码

<?php

phpinfo();

?>

浏览器 http://www1.stu05.com http://www2.stu05.com


7.测试php与mysql-server的连接是否正常

以管理员登录mysql,并授权远程登录用户

CREATE DATABASE wpdb1; 创建数据库

(1) GRANT ALL ON wpdb1.* TO wpuser1@'172.18.%.%' IDENTIFIED BY 'wpuser1';

注:GRANT授权 在172.16.0.0/16网段的主机通过testuser远程访问testdb的所有表

(2) FLUSH PRIVILEGES 刷新立即生效

可查看用户:SELECT USER();

测试下远程用户是否可以登录数据库:mysql -uwpuser1 -h272.18.17.191 -pwpuser1


(3)关闭mysql登录时候用户名的反解

vim /etc/my.cnf 配置文件中[mysqld]后面加入skip_name_resolve = ON

然后重载service mysqld reload

分别放在index.php中后,运行 http://172.18.105.110

$conn = mysql_connect('172.16.100.67','testuser','testpass');

if ($conn)

echo "OK";

else

echo "Failure";

?>


lamp环境就成功了。


总结:

任何开源程序需要连接到数据库的,在测试lamp连接数据库ok的情况下,如果是远程连接,则需要创建一个得到授权的远程连接的用户,而workdpress不仅需要创建一个数据库,还需要一个得到授权的远程连接的用户。

远程主机登录数据库 define('DB_HOST', '172.18.250.157'); 本地主机登录数据库define('DB_HOST', '127.0.0.1');

本地数据库root登录如果有密码 mysql -uroot -pxwj4611

如果本地数据库root没有密码mysql




8.第一个虚拟主机运行wordpress

cp wordpress-4.3.1-zh_CN.zip /web/vhosts/www1/

unzip wordpress-4.3.1-zh_CN.zip

ln -sv wordpress-4.3.1-zh_CN wordpress 然后cd /wordpress

1、cp wp-config-sample.php wp-config.php

2、执行mysql或者如果本地root已经设定密码mysql -uroot -pxwj4611 ------CREATE DATABASE wpdb;创建数据库 大多数开源的程序会自动创建数据库

3、GRANT ALL ON wpdb.* TO wpuser@'172.18.%.%' IDENTIFIED BY 'wppress'

注:给这个软件授权一个用户可以远程连接数据库,如果是本地连接127.0.0.1

4、vim vp-config.php 编辑配置文件

/** WordPress数据库的名称 */

define('DB_NAME', 'wpdb1');


/** MySQL数据库用户名 */

define('DB_USER', 'wpuser1');


/** MySQL数据库密码 */

define('DB_PASSWORD', 'wpuser1');


/** MySQL主机 */

define('DB_HOST', '172.18.17.191'); 如果是本地连接loaclhost 或者127.0.0.1

测试:www1.stu05.com/wordpress 压力测试 ab -n 1000 -c 100 http://www2.stu05.com/wordpress/index.php -c模拟的并发数 -n模拟的总请求数

本地测试的没有考虑带宽,服务器可能没有跑满带宽跑满了。Requests per second: 8.85 [#/sec] (mean) 每秒钟处理的请求数


9.第二个虚拟主机运行phpMyAdmin

准备工作: cp phpMyAdmin-4.4.14.1-all-languages.zip /web/vhosts/www1/

unzip phpMyAdmin-4.4.14.1-all-languages.zip

ln -sv phpMyAdmin-4.4.14.1-all-languages pma 注:方便回滚

我需要事先为其连接到数据库后准备一个授权的远程链接的用户:以遍可以登录

(1)、执行mysql或者如果本地root已经设定密码mysql -uroot -pxwj4611

(2)、GRANT ALL ON wpdb.* TO myuser@'172.18.%.%' IDENTIFIED BY 'myuser'

phpMyAdmin能够连接数据库修改配置文件

(1)cp config.sample.inc.php config.inc.php

(2)openssl ran -base64 15

(3)vim config.inc.php

$cfg['blowfish_secret'] = '46aJFLiLxmqO0qrdGqwx'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */ -------随机数贴里面

$cfg['Servers'][$i]['host'] = '172.18.17.191'; 远程连接指向数据库的主机

测试:www1.stu05.com/pma

压力测试 ab -n 1000 -c 100 http://www1.stu05.com/pma/index.php -c模拟的并发数 -n模拟的总请求数



10、编译安装xcache

# yum install php-devel

# cd xcache-3.2.0

# phpize

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

# make && make install

# cp xcache.ini /etc/php.d/

重新启动systemctl restart php-fpm



11、 为phpMyAdmin提供https虚拟主机;


ServerName www1.stu05.com

DocumentRoot "/web/vhosts/www1/myadmin"

SSLEngine on

SSLCertificateFile /etc/httpd/ssl/httpd.crt--------------指向证书的位置

SSLCertificateKeyFile /etc/httpd/ssl/httpd.key------------指向公钥的位置


AllowOverride None

Options FollowSymLinks-----------------------------允许访问链接文件的源文件

Require all granted



测试:本地主机指向dns


浏览器 https://www1.stu05.com http://www2.stu05.com/wordpress


数据 数据库 主机 测试 虚拟主机 用户 登录 模块 密码 指向 运行 配置 文件 服务器 浏览器 站点 准备 服务 浏览 位置 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 学生网络安全教育主题班会教案 沧州软件开发市场价 为切实加强网络安全 济南隽声网络技术有限公司 方舟手游怎么转到别的服务器 服务器安装字体 网络安全建设新趋势 查找数据库中重复的数据 没有dhcp服务器 网络安全测试外包 ipad网络安全检测关闭 sap财务系统用的是什么数据库 接口自动化和数据库怎么断言 网络安全知识竞赛答案2022 服务器连接速度是什么意思 土木工程跨考大数据库 莆田app软件开发 山东三众成互联网科技有限公司 枞阳县委网络安全工作会 e4a怎么向服务器发送图片 设置邮箱服务器 网络安全公司简介 公益视频国家网络安全宣传周 放心的仓库erp软件开发设计 虹口区服务器回收公司哪里有 汇旺服务器异常无法登陆 sql数据库如何回到上一部 宣城通信软件开发定制公司 ftb服务器是一个什么系统 软件开发项目管理三四郎
0