LAMP企業架構實戰

LAMP是一個搭建動態網站的開源軟件架構,組成了一個強大的Web應用程序平臺,在軟件項目方面的投資成本低,所以受到整個IT行業界的關注及大量的公司使用。php

image.png

1.LAMP企業安裝配置:構建LAMP架構有兩種方法,一是使用yum在線安裝,另一種是基於源碼編譯安裝。html

1)yum在線安裝mysql

#yum install httpd httpd-devel mysql mysql-server mysql-devel php php-devel php-mysql -ysql

#service httpd restart數據庫

#service mysqld restartapache

2)基於源碼安裝:LAP(CentOS+Apache+PHP):192.168.153.142vim

Apache: http://www.javashuo.com/article/p-akdbuakr-s.htmlbash

MySQL: http://www.javashuo.com/article/p-nmoctnep-d.html 服務器

PHP: 源碼編譯安裝架構

[root@lap tools]# wget http://mirrors.sohu.com/php/php-5.3.28.tar.gz

--2020-01-20 10:12:00--  http://mirrors.sohu.com/php/php-5.3.28.tar.gz

正在解析主機 mirrors.sohu.com (mirrors.sohu.com)... 失敗:未知的名稱或服務。

wget: 沒法解析主機地址 「mirrors.sohu.com」

[root@lap tools]# cat /etc/resolv.conf 

# Generated by NetworkManager

nameserver 202.101.224.68

nameserver 8.8.8.8

[root@lap tools]# tar -zxf php-5.3.28.tar.gz 

[root@lap tools]# cd php-5.3.28

[root@lap php-5.3.28]#

[root@lap php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --with-mysql=/usr/local/mysql/

...................

configure: error: xml2-config not found. Please check your libxml2 installation.

[root@lap php-5.3.28]# yum install libxml2 libxml2-devel -y

[root@lap php-5.3.28]# ./configure --prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --with-mysql=/usr/local/mysql/

....................

Thank you for using PHP.

[root@lap php-5.3.28]# make 

In file included from /tools/php-5.3.28/ext/standard/basic_functions.c:49:0:

/tools/php-5.3.28/Zend/zend_language_parser.h:317:5: 錯誤:與‘zendparse’類型衝突

 int zendparse (void);

/tools/php-5.3.28/Zend/zend_globals_macros.h:35:5: 附註:‘zendparse’的上一個聲明在此

 int zendparse(void *compiler_globals);

 make: *** [ext/standard/basic_functions.lo] 錯誤 1

[root@lap Zend]# pwd

/tools/php-5.3.28/Zend

[root@lap Zend]# vim zend_language_parser.h

#int zendparse (void);    #能夠刪除此條語句

int zendparse(void *compiler_globals);    #添加該條語句

[root@lap php-5.3.28]# make 

..................

Build complete.

Don't forget to run 'make test'.

[root@lap php-5.3.28]# make install

.........

/tools/php-5.3.28/build/shtool install -c ext/phar/phar.phar /usr/local/php5/bin

ln -s -f /usr/local/php5/bin/phar.phar /usr/local/php5/bin/phar

Installing PDO headers:     /usr/local/php5/include/php/ext/pdo/

[root@lap /]# vim /etc/php.ini 

LoadModule php5_module       modules/libphp5.so

<IfModule dir_module>

    DirectoryIndex  index.php ndex.html index.htm

</IfModule>

 AddType application/x-httpd-php  .php


[root@lap htdocs]# cat >/usr/local/apache2/htdocs/index.php <<EOF

> <?php

> phpinfo();

> ?>

> EOF

image.png

2.配置Discuz PHP討論安裝:LAP(CentOS+Apache+PHP):192.168.153.142

[root@lap tools]# unzip Discuz_X3.4_SC_UTF8.zip  -d /usr/local/apache2/htdocs/

bash: unzip: 未找到命令

[root@lap tools]# yum install unzip

[root@lap tools]# unzip Discuz_X3.4_SC_UTF8.zip  -d /usr/local/apache2/htdocs/

[root@lap bbs]# unzip Discuz_X3.4_SC_UTF8.zip  -d /usr/local/apache2/htdocs/bbs/

[root@lap tools]# cd /usr/local/apache2/htdocs/bbs/

[root@lap bbs]# mv upload/* .

[root@lap bbs]# chmod 757 -R data/  uc_server/ config/ uc_client/ 

3.MySQL數據庫相關配置:192.168.153.143

MySQL [(none)]> create database ultrax;     #先建立初始化數據庫

MySQL [(none)]>  grant all on ultrax.* to root@'192.168.153.142'  identified by "sky9890";  #受權

#以上兩步驟很重要,不然報如下錯誤:

image.png

4.Discuz PHP討論安裝過程:LAP(CentOS+Apache+PHP):192.168.153.142

2.png

image.png

image.png

7.png

image.png

image.png

image.png

image.png

小結:如何優化LAMP架構,如何拆分LAMP架構以,怎麼把Apache和MySQL分開放在不一樣的機器上?LAMP構架拆分的目的在於緩解單臺服務器的壓力,能夠將PHP、MySQL單獨安裝至多臺服務器上,本次實戰實現了LAP+MySQL的架構,也便是把MySQL單獨拆分出去。

相關文章
相關標籤/搜索