1. 程式人生 > >搭建LAMP

搭建LAMP

lamp

LAMP概念

(1)LAMP是主流的web架構,Linux+Apache+MySQL|Mariadb+PHP|Perl | Python 組合成的


(2) Linux開源免費的操作系統,Centos6.8 ,Centos7.3開源,方便維護


(3) Apache開源的web服務器,使用量最多的web服務器,基於Http協議發布web靜態網頁,

而且只能發布靜態頁面。


(4) MySQL是關系型數據庫系統,存儲用戶信息,銀行卡號,訂單信息,論壇用戶信息等


(5) PHP是一門解釋型的腳本動態語言,基於PHP頁面開發PHP網頁代碼


(6) LAMP聯合組成主流的web架構,可以發布門戶網站,以PHP為代表的動態網頁+HTML為代表的

靜態網頁


LAMP架構原理

(1) 用戶在瀏覽器上輸入,www.jfedu.net域名回車,瀏覽器會檢查域名對應的ip地址


(2) 瀏覽器會檢查本地主機的host文件,c:\windows\system32\drivers\etc\hosts,查找hosts

文件中是否有www.jfedu.net對應的ip地址


(3) 如果hosts文件中,有域名對應的ip地址,瀏覽器會直接開始HTTP請求


(4) 如果hosts文件中,沒有域名對應的ip,瀏覽器會向DNS服務請求


(5) 此時Apache web收到瀏覽器發送的HTTP請求,會檢查用戶請求的具體文件,默認請求index.php,

Apache檢查httpd.conf配置文件的ADDTYPE的php後綴


(6) Apache檢查到用戶請求的文件是以.php結尾的文件,會從硬盤,內存上讀取該文件,將文件傳遞給PHP模塊(PHP解釋器)PHP解釋器會解析以.php結尾的文件,如果需要調用數據庫的數據,PHP會連接MySQL驅動,去調用MySQL數據庫中的數據,解析成靜態文件


(7) 用戶瀏覽器收到該頁面,通過MIME類型,調用本地插件來解析和渲染內容,最終瀏覽器會把界面展示給用戶


LAMP源碼實戰(LAMP部署在一臺服務器上)


Discuz論壇安裝

Apache 安裝

(1) 下載wget

yum install wget -y


(2) 下載Apache安裝包

wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.34.tar.gz


(3) 解壓Apache

tar -xjvf httpd -2.2.34.tar.gz


(4) 進入Apache安裝目錄,執行預編譯,編譯,安裝

cd httpd -2.2.34

預編譯:

./configure --prefix=/usr/local/apache2/ --enable-rewrite --enable-so --enable-ssl


預編譯報錯解決方案:

configure:error: in `/usr/local/src/httpd-2.2.21/srclib/apr‘:

configure:error: no acceptable C compiler found in $PATH

解決辦法是安裝:yum install gcc -y


no SSL-C headers found configure: error: ...No recognized SSL/TLS toolkit detected

解決辦法是安裝: yum install openssl-devel -y


make(編譯)


make install (安裝)


(5) Apache配置前,記得關閉防火墻和selinux

關閉selinux setenforce 0

防火墻: service iptables stop


(6) 在httpd.conf 配置文件中去掉#註釋行,Include conf/extra/httpd-vhosts.conf


(7) 在httpd-vhosts.conf 配置虛擬主機

<VirtualHost*:80>

ServerAdmin [email protected]

DocumentRoot"/usr/local/apache2/htdocs/discuz"

ServerName www.discuz.com

ErrorLog"logs/www.discuz.com-error_log"

CustomLog"logs/www.discuz.com-access_log" common

</VirtualHost>

<VirtualHost*:80>

ServerAdmin [email protected]

DocumentRoot"/usr/local/apache2/htdocs/wordpress"

ServerName www.wordpress.com

ErrorLog"logs/www.wordpress.com-error_log"

CustomLog"logs/www.wordpress.com-access_log" common

</VirtualHost>


(8) hosts文件路徑c:\\windows\System32\drivers\etc hosts文件中,把域名和ip一一對應


(9) /usr/local/apache2/bin/httpd-k start 啟動apache web服務器


(10) 測試www.wordpress.com www.discuz.com訪問是否成功


MySQL安裝



(1) 下載MySQ軟件包

wget http://down1.chinaunix.net/distfiles/mysql-5.5.20.tar.gz


(2) 解壓MySQL

tar -xzvf mysql -5.5.20.tar.gz


(3) 安裝MySQL必備環境

yum install ncurses-devel perl gcc gcc-c++ wget cmake nurses make


(4) 進入MySQL安裝目錄,執行cmake make make install

cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ \

-DMYSQL_UNIX_ADDR=/tmp/mysql.sock\

-DMYSQL_DATADIR=/data/mysql/\

-DSYSCONFDIR=/etc\

-DMYSQL_USER=mysql\

-DMYSQL_TCP_PORT=3306\

-DWITH_XTRADB_STORAGE_ENGINE=1\

-DWITH_INNOBASE_STORAGE_ENGINE=1\

-DWITH_PARTITION_STORAGE_ENGINE=1\

-DWITH_BLACKHOLE_STORAGE_ENGINE=1\

-DWITH_MYISAM_STORAGE_ENGINE=1\

-DWITH_READLINE=1\

-DENABLED_LOCAL_INFILE=1\

-DWITH_EXTRA_CHARSETS=1\

-DDEFAULT_CHARSET=utf8\

-DDEFAULT_COLLATION=utf8_general_ci\

-DEXTRA_CHARSETS=all\

-DWITH_BIG_TABLES=1\

-DWITH_DEBUG=0

make

make install



(5) 將MySQL設置為系統服務

cd /usr/local/mysql

cp support-files/my-large.cnf /etc/my.cnf

cp mysql.server /etc/init.d/mysqld

useradd mysql

mkdir -p /data/mysql

/usr/local/mysql/scripts/mysql_install_db --user=mysql--datadir=/data/mysql/--basedir=/usr/local/mysql/ 對mysql進行初始化



(6)啟動MySQL

/etc/init.d/mysqld start


PHP安裝


(1) 下載PHP軟件包

wget http://mirrors.sohu.com/php/php-5.3.28.tar.bz2


(2) 解壓PHP軟件包

tar -xjvf php-5.3.28.tar.bz2


(3) 進入PHP安裝目錄,執行.configure/ make make install

./configure--prefix=/usr/local/php5 --with-config-file-path=/usr/local/php5/etc --with-apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql/


make


make install


報錯內容:

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


解決辦法:

yum install libxml2-devel –y


(4)Apache+ PHP整合

LoadModule php5_module modules/libphp5.so


這句內容是PHP和Apache整合後,在httpd.conf文件中自動添加的


AddType application/x-httpd-php .php Apache 識別.php文件


DirectoryIndex index.php index.htmlindex.htm



Discuz安裝

(1) 下載Discuz軟件包

wget http://download.comsenz.com/DiscuzX/3.1/Discuz_X3.1_SC_UTF8.zip


(2) 解壓Discuz軟件包

unzip Discuz_X3.1_SC_UTF8.zip


(3) 進入upload目錄,把php文件拷貝到/usr/local/apache2/htdocs/discus


(4) 重啟Apache網站是否成功

技術分享


(5)授權apache用戶,可以訪問data/ config/ uc_* 目錄有寫的權限

chmod o+w -Rdata/ config/ uc_*


(6) 授權數據庫

grant all on ultrax.* to jfedu@‘192.168.2.107‘ identified by "jf123456";


註釋:

授權192.168.2.107這個機器可以訪問ultrax數據庫


(7) 搭建成功的截圖

技術分享

本文出自 “運維之道” 博客,請務必保留此出處http://linuxzdq.blog.51cto.com/11196076/1974804

搭建LAMP