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.www58058.com/101391

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

相關推薦

  • 簡述at和crontab命令

    制定 每周三凌晨三、五點10分執行某個腳本,輸出當前時間,時間格式為 2017-12-28 10:00:00

    Linux筆記 2018-06-07
  • lvs調度方案和應用場景

    ipvs scheduler: 根據其調度時是否考慮各RS當前的負載狀態,可分為靜態方法和動態方法兩種: 靜態方法:僅根據算法本身進行調度; RR:roundrobin,輪詢; WRR:Weighted RR,加權輪詢; SH:Source Hashing,實現session sticky,源IP地址hash;將來自于同一個IP地址的請求始終發往第一次挑中的…

    Linux筆記 2018-07-02
  • 第一周博客(1)

    計算機的組成及其功能。

    Linux筆記 2018-05-12
  • Linux筆記第一周

    一、描述計算機的組成及其功能。 計算機由硬件和軟件兩部分組成 硬件由主機與外部設備構成 軟件由系統軟件與應用軟件構成 二、按系列羅列Linux的發行版,并描述不同發行版之間的聯系與區別。 Red Hat公司發布? ? ? ? ?Redhat Centos Novell公司發布? ? ? ? ? ? ?SUSE Debian維護社區發布? ?Debian ub…

    Linux筆記 2018-06-24
  • 學習筆記(4)

    學習筆記(4)

    Linux筆記 2018-04-22
  • 第一周總結

    存儲網絡: DAS—–直接連接存儲(Direct attached storage) NAS—–網絡連接存儲(Network attached storage) SAN—–存儲區域網絡(storage area network) DAS優缺點: 直接存儲(Direct Attached Storage)。存儲設備與主機的緊密相連 1.管理成…

    Linux筆記 2018-04-01
欧美性久久久久