LAMP是一個搭建動態網站的開源軟件架構,組成了一個強大的Web應用程序平臺,在軟件項目方面的投資成本低,所以受到整個IT行業界的關注及大量的公司使用。php
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
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"; #受權
#以上兩步驟很重要,不然報如下錯誤:
4.Discuz PHP討論安裝過程:LAP(CentOS+Apache+PHP):192.168.153.142
小結:如何優化LAMP架構,如何拆分LAMP架構以,怎麼把Apache和MySQL分開放在不一樣的機器上?LAMP構架拆分的目的在於緩解單臺服務器的壓力,能夠將PHP、MySQL單獨安裝至多臺服務器上,本次實戰實現了LAP+MySQL的架構,也便是把MySQL單獨拆分出去。