您的位置:首页 > 运维架构 > 网站架构

LAMP平台部署及应用一

2016-07-27 15:31 573 查看
什么是LAMP:
目前最为成熟的一种企业网站应用模式,可提供动态Web站点应用及开发环境
构成组件:
Linux、Apache、MySQL、PHP/Perl/Python
LAMP的优势:
成本低廉、可定制、易于开发、方便易用、安全和稳定

实验环境:
服务端: CentOS 7.2x86_64 IP:172.16.251.138
客户端:CentOS 6.7x86_64 IP:172.16.251.164

准备工作:
[root@station138 ~]# iptables –F //关闭防火墙
[root@station138 ~]#setenforce 0 //关闭SeLinux

安装所需软件:
[root@station138 ~]#yum -y install httpd
mariadb-server php php-mysql

检查是否成功安装:
[root@station138 ~]#rpm -qa httpd php php-mysql mysql-server

启动服务:
[root@station138 ~]#systemctl start httpd.service mariadb.service

创建虚拟主机:
[root@station138 conf.d]# vim/etc/httpd/conf.d/v1.conf
<VirtualHost 172.16.251.138:80>
ServerNamewww1.b.com
DocumentRoot/var/www/virt1
<Directory"/var/www/viet1">
OptionsNone
AllowOverrideNone
Requireall granted
</Directory>
</VirtualHost>
[root@station138 conf.d]# vim/etc/httpd/conf.d/v2.conf
<VirtualHost 172.16.251.138:80>
ServerNamewww2.b.com
DocumentRoot/var/www/virt2
<Directory"/var/www/viet2">
OptionsNone
AllowOverrideNone
Requireall granted
</Directory>
</VirtualHost>

部署应用:
1.部署wordpress:
[root@station138 conf.d]# mkdir -pv/var/www/virt{1,2}
[root@station138 ]# unzipwordpress-4.3.1-zh_CN.zip
[root@station138 wordpress]# vim/var/www/virt1/wordpress/wp-config.php
/** WordPress数据库的名称 */
define('DB_NAME', 'wpdb');
/** MySQL数据库用户名 */
define('DB_USER', 'wp');
/** MySQL数据库密码 */
define('DB_PASSWORD', 'wp123');
/** MySQL主机 */
define('DB_HOST', '172.16.251.138');
/** 创建数据表时默认的文字编码 */
define('DB_CHARSET', 'utf8');

2.创建数据库授权用户:
[root@station138 ~]# vim /etc/my.cnf
innodb_file_per_table = ON
skip_name_resolve = ON
[root@station138 ~]#
mysql_secure_installation
[root@station138 ~]# mysql -uroot -p
MariaDB [(none)]> GRANT ALL ON wpdb.* TO
'wp'@'172.16.%.%' IDENTIFIED BY 'wp123';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> CREATE DATABASE wpdb;
3.部署phpMyAdmin:[root@station138 ]#unzip phpMyAdmin-4.4.14.1-all-languages.zip[root@station138 virt2]# ln -sv phpMyAdmin-4.4.14.1-all-languages/ phpMyAdmin[root@station138 phpMyAdmin]#cp config.sample.inc.php config.inc.php[root@station138 phpMyAdmin]# openssl rand -base64 10DOIVpcsRTTUqsg== //生成随机数[root@station138 phpMyAdmin]# vim config.inc.php$cfg['blowfish_secret'] = 'DOIVpcsRTTUqsg'[root@station138 ]# yum install php-mbstring //扩展模块[root@station138 ]# httpd -t
4.为phpMyAdmim提供https服务:建立私有CA:a.生成私钥:[root@station138 CA]#(umask 077; openssl genrsa -out private/cakey.pem 2048)b.生成自签证书:[root@station138 CA]#openssl req -new -x509 -key private/cakey.pem -out cacert.pemc.提供辅助文件[root@station138 CA]#touch index.txt[root@station138 CA]#echo 01 > seriald.生成私钥:[root@station138 CA]#mkdir -pv /etc/httpd/ssl[root@station138 CA]# (umask 077; openssl genrsa -out httpd.key 1024)e.生成证书请求[root@station138 ssl]# openssl req -new -key httpd.key -out httpd.csrf.CA签发证书[root@station138 ssl]# cp httpd.csr /tmp/[root@station138 ssl]# openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt[root@station138 ssl]# cp /etc/pki/CA/certs/httpd.crt /etc/httpd/ssl/g.安装mod_ssl模块,及使用的证书[root@station138 ~]# httpd -M | grep ssl
[root@station138 ~]# yum -y install mod_ssl
[root@station138 ~]# rpm -ql mod_ssl
[root@station138 ~]#vim/etc/httpd/conf.d/ssl.conf
<VirtualHost _default_:443>
DocumentRoot "/var/www/virt2"
ServerName www2.b.com:443
SSLCertificateFile /etc/httpd/ssl/httpd.crt
SSLCertificateKeyFile /etc/httpd/ssl/httpd.key
<Directory "/var/www/virt2">
SSLOptions +StdEnvVars
AllowOverride None
Require all granted
</Directory>
</VirtualHost>
[root@station138 ~]# systemctl restart httpd
[root@station138 ~]# ss -tnl
LISTEN 0 128 :::443

为php安装xcache加速器:
[root@station138 ~]# yum install php-xcache

客户端测试:
[root@localhost ~]# cat /etc/hosts
172.16.251.138 www1.b.com www2.b.com
1.测试php:
[root@station138 virt1]# cat index.php
<?php
phpinfo();
?>




2.测试php是否连接mariadb:
<?php
$conn = mysql_connect('172.16.251.138','testuser','testpass');
if($conn)
echo "OK";
else
echo "Failure";
?>




3.测试wordpress:







4.测试phpMyAdmin:




5.测试https:
https://www2.b.com/phpMyAdmin

6.压力测试:
[root@station138 ~]# ab -c 100 -n 1000 www1.b.com/wordpress/index.php
Concurrency Level: 10
Time taken for tests: 69.750 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Non-2xx responses: 1000
Total transferred: 339000 bytes
HTML transferred: 0 bytes
Requests per second: 14.34 [#/sec] (mean)
Time per request: 697.503 [ms] (mean)
Time per request: 69.750 [ms] (mean, across all concurrent requests)
Transfer rate: 4.75 [Kbytes/sec] received
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息