LAMP架构实现

LAMP是一组Web应用软件的组合,Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组常用来搭建动态网站或者服务器的开源软件,所有组成产品均是开源软件,本身都是各自独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强大的Web应用程序平台。

本节索引

一、LAMP介绍

二、实例:LAMP搭建PhpMyAdmin

三、实例:CentOS7编译Php-xcache

四、实例:LAMP搭建wordpress

五、实验:centos7上源码编译安装LAMP的多虚拟主机wordpress,discuz

 

 

一、LAMP介绍

LAM(M)P是一组Web应用软件的组合,Linux+Apache+Mysql/MariaDB+Perl/PHP/Python一组

常用来搭建动态网站或者服务器的开源软件,所有组成产品均是开源软件,本身都是各自

独立的程序,但是因为常被放在一起使用,拥有了越来越高的兼容度,共同组成了一个强

大的Web应用程序平台。

 

L:Linux

A:Apache (httpd)

M:Mysql, Mariadb

M:Memcached

P:PHP, Perl, Python

 

WEB资源类型:

    静态资源:原始形式与响应内容一致,在客户端浏览器执行

   动态资源:原始形式通常为程序文件,需要在服务器端执行之后,将执行结果返回给客户端

 

Web相关语言

客户端技术: html,javascript

服务器端技术:php, jsp,python,asp

 

LAMP工作原理:

1

 

二、实例:LAMP搭建PhpMyAdmin

实验环境:

Linux:      CentOS 7.4

Apache:   httpd-2.4.6

MariaDB:mariadb-server-5.5.56

Php,php-mysql:php-5.4.16

具体步骤:

1 下载phpMyAdmin 4.0.10.20

注:此版本支持PHP 5.2 和 MySQL 5之前,不支持 PHP 5.5 更新的版本

wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-\

all-languages.tar.xz

2 解压到httpd目录下

tar xvf phpMyAdmin-4.0.10.20-all-languages.tar.xz -C /var/www/html/

该目录名称,方便操作

mv phpMyAdmin-4.0.10.20-all-languages/ phpMyAdmin

3 复制配置文件,不需要更改内容

cd phpMyAdmin/

cp config.sample.inc.php config.inc.php

安装php-mbstring

yum install php-mbstring –y

4 重启httpd服务

systemctl restart httpd

5 打开浏览器访问http://192.168.30.10/phpMyAdmin/,出现下图即表示PhpMyAdmin搭建成功

1

6使用mysql账号进行登录,就可进行数据库的图形化操作了

2

 

三、实例:CentOS7编译Php-xcache

实验环境:

亚马逊云主机一台,以WordPress搭建了www.wxlinux.com

操作系统版本:CentOS7.5

PHP版本为:5.4.16

Httpd版本为:Apache2.4.6

数据库版本:mariadb-server-5.5.56

安全前我们测试下www.wxlinux.com的每秒请求数,为1.90次/秒

ab -c 10 -n 100 http://www.wxlinux.com/

1

下载最新版本Php-xcache

wget https://xcache.lighttpd.net/pub/Releases/3.2.0/xcache-3.2.0.tar.gz

解压包到/data目录下

tar  xvf  xcache-3.2.0.tar.gz  -C /data

cd xcache-3.2.0

此时xcache目录下是没有configure文件的,我们需要使用phpize命令生成它

安装php-devlop包

yum install php-devlop

yum install gcc

生成编译环境

phpize

查看下php-config文件位置

[root@wxlinux ~]#which php-config

/bin/php-config

编译安装

./configure –enable-xcache –with-php-config=/bin/php-config

make && make install

cp xcache-3.2.0/xcache.ini /etc/php.d/

重启http服务使其生效

systemctl restart httpd.service

再次进行测试,每秒请求数提升到3.95

3

 

四、实例:LAMP搭建wordpress

前期准备:

操作系统版本:CentOS7.5

PHP版本为:5.4.16

Httpd版本为:Apache2.4.6

数据库版本:mariadb-server-5.5.56

配置环境:

yum install httpd php mariadb-server php-mysql -y

启动相应服务

systemctl start httpd mariadb

为数据库设置root账号密码

mysqladmin -u root password “XXXXXXXX”

创建一个名为wordpress的数据库

mysql> create database wordpress;

下载wordpress

wget http://wordpress.org/latest.tar.gz

解压安装包

tar –zxf latest.tar.gz -C /var/www/html

注意wordpress目录权限

setfacl -R -m u:apache:rwx /var/www/html/wordpress

重启httpd服务

systemctl restart httpd

浏览器打开:http://192.168.30.10/wordpress

简单的进行一些配置,即可完成wordpress的搭建

DLH}ZHW][GR6Q_QTE3DQSU2

 

五、实验:centos7上源码编译安装LAMP的多虚拟主机wordpress,discuz

前期准备:

虚拟机两台

LAMP server: CentOS 7.5,完全干净的系统环境  IP:192.168.30.17

Client:              CentOS7.4                                           IP:192.168.30.10

准备以下安装包

apr-1.6.3.tar.gz                    

apr-util-1.6.1.tar.gz

httpd-2.4.33.tar.bz2 

mariadb-10.2.15-linux-x86_64.tar.gz 

php-7.1.18.tar.bz2

wordpress-4.9.4-zh_CN.tar.gz

Discuz_X3.3_SC_UTF8.zip

 

1.编译安装httpd

tar xvf httpd-2.4.33.tar.bz2

tar xvf apr-1.6.3.tar.gz

tar xvf apr-util-1.6.1.tar.gz

cp -av apr-util-1.6.1 httpd-2.4.33/srclib/apr-util

cp -av apr-1.6.3 httpd-2.4.33/srclib/apr

 

./configure –prefix=/app/httpd24 \

–enable-so \

–enable-ssl \

–enable-cgi \

–enable-rewrite \

–with-zlib \

–with-pcre \

–with-included-apr \

–enable-modules=most \

–enable-mpms-shared=all \

–with-mpm=prefork

 

make && make install

 

echo PATH=/app/httpd24/bin:$PATH > /etc/profile.d/lamp.sh

. /etc/profile.d/lamp.sh

开启httpd服务

apachectl

 

2.二进制安装mariadb

tar xvf mariadb-10.2.15-linux-x86_64.tar.gz  -C /usr/local/

cd /usr/local/

ln -s mariadb-10.2.15-linux-x86_64/ mysql

useradd -r -s /sbin/nologin mysql

chown -R mysql.mysql  mysql/

mkdir /data/mysql -pv

chown mysql.mysql /data/mysql/

vim /etc/profile.d/lamp.sh

PATH=/appl/httpd24/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

. /etc/profile.d/lamp.sh

cd mysql/

./scripts/mysql_install_db –datadir=/data/mysql –user=mysql

vim /etc/my.cnf

datadir=/data/mysql

 

chkconfig –add mysqld

chkconfig –list

service mysqld start

ss -ntl

1

创建wordpress数据库,和管理用户

MariaDB [(none)]> create database wordpress;

MariaDB [(none)]> grant all on wordpress.* to wpuser@’192.168.30.%’ identified by ‘centos’;

 

3.编译安装fastcgi模式的php

tar xvf php-7.1.18.tar.bz2

cd php-7.1.18/

./configure –prefix=/app/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 && make install

 

cd /root/srcs/php-7.1.18/

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 /app/php/etc

cp php-fpm.conf.default php-fpm.conf

cp php-fpm.d/www.conf.default php-fpm.d/www.conf

service php-fpm start

ss -ntl

2

vim /etc/profile.d/lamp.sh

PATH=/app/php/bin:/app/php/sbin:/app/httpd24/bin:/usr/local/mysql/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

. /etc/profile.d/lamp.sh

vim /app/httpd24/conf/httpd.conf

取消下面两行的注释,启用代理功能

LoadModule proxy_module modules/mod_proxy.so

LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so

3

修改下面行

<IfModule dir_module>

DirectoryIndex index.php index.html

</IfModule>

addType application/x-httpd-php .php

AddType application/x-httpd-php-source .phps

ProxyRequests Off

ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/$1

4

重启httpd服务

apache restart

 

 

4.安装wordpress

解压安装包

tar –zxf  – wordpress-4.9.4-zh_CN.tar.gz -C /app/httpd24/htdocs/blog

注意wordpress目录权限

setfacl -R -m u:apache:rwx /var/www/html/wordpress

重启httpd服务

systemctl restart httpd

 

 

5.安装Discuz

mv Discuz_X3.3_SC_UTF8.zip /app/httpd24/htdocs/bbs/

cd /app/httpd24/htdocs/bbs/

unzip mv Discuz_X3.3_SC_UTF8.zip

配置虚拟主机

修改配置文件,开启虚拟主机配置目录

vim httpd-vhosts.conf

# Virtual hosts

Include conf/extra/httpd-vhosts.conf       找到此行,去掉注释

 

6.配置虚拟主机

vim /app/httpd24/conf/extra/httpd-vhosts.conf

<virtualhost *:80>

    servername www.blog.com

    documentroot /app/httpd24/htdocs/blog/wordpress

    DirectoryIndex index.php

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/blog/wordpress/$1

</virtualhost>

 

<virtualhost *:80>

    servername www.bbs.com

    documentroot /app/httpd24/htdocs/bbs

    DirectoryIndex index.php

    ProxyRequests Off

    ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/app/httpd24/htdocs/bbs/$1

</virtualhost>

 

7.测试:

此时切换到另外一台主机访问www.blog.com及www.bbs.com

为了方便实现,这里修改hosts文件模拟DNS

加入此行:

vim /etc/hosts

192.168.30.17 www.blog.com www.bbs.com

 

切换到图形界面,打开firefox浏览器直接输入www.blog.com,直接转向了wordpress的安装页面

6

输入www.bbs.com,则直接转向了wordpress的安装页面

7

 

至此,我们完成了编译LAPM,基于主机头的wordpress和Discuz的安装!

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/101391

(0)
wangxczwangxcz
上一篇 2018-06-23
下一篇 2018-06-23

相关推荐

  • linux用户与组的权限管理与正则表达式

    一、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 二、编辑/etc/group文件,添加组hadoop 三、手动编辑/etc/passwd文件新增一行,添加用户hadoop,其基本组ID为hadoop组的id号;其家目录为/home/hadoop 四、复制/etc/skel…

    2018-07-16
  • lvs(linux virtual server)、keepalived

    Linux Cluster: httpd: ab,  benchmark; 系统的扩展方式: Scale up:向上扩展; 提供性能更好的服务器替代现有的服务器; Scale out:向外扩展; 提供更多的服务器来满足同一个需求; 集群:将多台主机组织起来满足某一特定需求; 集群类型: 1、LB:Load Balancing, 负载均衡集群; 负载均衡器,调…

    2018-07-05
  • linux网络基础

    无线网络标准: 中国:早期wapi后期wapi+wifi 国际:wifi 无线模式802.11 a/b/n/ac/bn,以太模式IEEE  802.3 网络施工模式: ethtool eth0 单工:单向传输 双工:双向传输 全双工:同时双向 半双工:轮流双向 集线器Hub :由于网线信号电流强度受距离影响,所以集线器很好的提供了电能 冲突域:同个网域中发送…

    Linux笔记 2018-05-07
  • 第二周作业

    第二周作业 一、Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。 pwd:  显示当前的工作目录 -P 显示真实物理路径 -L 显示链接路径(默认)   cd:  改变目录 使用绝对路径或者相对路径: cd /root/Desktop  cd Desktop/ 切换至父目录: cd .. 切换至当前用户主目录: cd 切换至…

    2018-07-06
  • Linux中用户、组和权限

    用户user Linux用户:Username/UID 管理员:root,0 普通用户: 系统用户:1-499 交互式登录:登录用户500+,1000+9(CentOs7) 组group  Linux组:Groupname/GID 管理员组:root,0(私有组) 普通组:系统组:1-499,1-999;普通组:500+,1000+ Linux组的类别:1.…

    Linux笔记 2018-04-05