千家信息网

centos7 lamp(moudle)

发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,CentOS 7, lamp (module)要求:(1) 三者分离于两台主机;(2) 一个虚拟主机用于提供phpMyAdmin;另一个虚拟主机用于提供wordpress;(3) xcache(4)
千家信息网最后更新 2024年11月23日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安全错误 数据库的锁怎样保障安全 网络安全和信息安全管理办法 深圳c语言软件开发定做 研究生查分软件开发 青少年网络安全知识答题环节 利用硬盘录像机做文件服务器 进入某个数据库使用关键字是什么 科技互联网后期怎么走势 安卓怎么清理软件登录数据库 软件开发可以共享吗 网络安全宣传心得200字 数据库管理员的技术要求 腾讯云怎么建立电影服务器 本地数据库一运行就停止工作 网络安全与文明校园 网络技术应用教材地位 肺腺癌模型geo数据库 怎样向Linux导入数据库 服务器开机后只有c盘 初级网络安全工程师学什么 软件开发女生就行 300英雄服务器界面 网络安全和信息安全管理办法 ui设计和软件开发有何区别 c 连接sql数据库示例 传统数据库连接的缺点 网络安全产业发展建议和意见 正规网络技术销售公司 网络安全信息产业园双流 微信撤回的消息在服务器上还有吗 20行业网络安全工作报告
0