LAMP概念
php
(1)LAMP是主流的web架構,Linux+Apache+MySQL|Mariadb+PHP|Perl | Python 組合成的html
(2) Linux開源免費的操做系統,Centos6.8 ,Centos7.3開源,方便維護mysql
(3) Apache開源的web服務器,使用量最多的web服務器,基於Http協議發佈web靜態網頁,linux
並且只能發佈靜態頁面。c++
(4) MySQL是關係型數據庫系統,存儲用戶信息,銀行卡號,訂單信息,論壇用戶信息等web
(5) PHP是一門解釋型的腳本動態語言,基於PHP頁面開發PHP網頁代碼sql
(6) LAMP聯合組成主流的web架構,能夠發佈門戶網站,以PHP爲表明的動態網頁+HTML爲表明的數據庫
靜態網頁apache
LAMP架構原理windows
(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 daqi@eastmoney.com 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 daqi@eastmoney.com 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) 搭建成功的截圖