基於LAMP的博客平臺搭建
部署LAMP
有兩種方式:
一種基於module模塊方式
一種基於Fast CGI方式
在centos6上不支持Fast CGI方式,所以centos6上不能使module方式部署,我們這裏介紹基於module模塊方式搭建。
----------------------------------------------------------------------------------------------
基於模塊形式部署LAMP:
1、準備linux操作系統
準備了centos7操作系統
2、安裝httpd(apache)
yum install httpd
默認主站點是/var/www/html
vim /etc/httpd/conf/httpd.conf
修改DirectoryIndex index.html
DirectoryIndex index.php index.html
啟動服務:
systemctl start httpd
確定80端口打開,80端口是httpd服務監聽的端口。
3、安裝php
yum install php
安裝PHP會自動依賴安裝另外幾個包
php-cli 、php-common
----------------------------------
展示包安裝的文件:
[root@localhost ~]# rpm -ql php
/etc/httpd/conf.d/php.conf (添加一個httpd的配置文件,加載了php模塊)
/usr/lib64/httpd/modules/libphp5.so (加載了一個php模塊)
/var/lib/php/session (創建了一個會話目錄,
/var/www/icons/php.gif
--------------------------------
[root@localhost ~]# rpm -ql php-cli
/usr/bin/phar
/usr/bin/phar.phar
/usr/bin/php
/usr/bin/php-cgi
/usr/share/doc/php-cli-5.3.3
/usr/share/doc/php-cli-5.3.3/README
/usr/share/doc/php-cli-5.3.3/README.FastCGI
/usr/share/man/man1/php.1.gz
------------------------------------------
[root@localhost ~]# rpm -ql php-common
/etc/php.d (php配置文件目錄)
/etc/php.d/curl.ini
/etc/php.d/fileinfo.ini
/etc/php.d/json.ini
/etc/php.d/phar.ini
/etc/php.d/zip.ini
/etc/php.ini (php的主配置文件)
/usr/lib64/php
/usr/lib64/php/modules (PHP的各種模塊)
/usr/lib64/php/modules/curl.so
/usr/lib64/php/modules/fileinfo.so
/usr/lib64/php/modules/json.so
/usr/lib64/php/modules/phar.so
/usr/lib64/php/modules/zip.so
/usr/lib64/php/pear
----------------------------------------------
在/etc/php.ini配置文件中修改php時區信息,其他各種設置,可以參考上面php設置內容
在httpd的配置文件中添加了php.conf這個配置文件所以要重啟httpd服務。
systemctl reload httpd
查看httpd加載的模塊:
httpd -M 查看模塊截圖
4、測試PHP是否能用
在主站點下編譯文件:
cd /var/www/html
vim index.php
測試代碼:
<?php
echo date("Y/m/d");
phpinfo();
?>
在瀏覽器端測試,
5、安裝mariadb-server數據庫服務端,會依賴安裝mariadb
yum install mariadb-server
啟動mariadb服務
systemctl start mariadb
查看3306端口:
運行安全腳本
mysql_secure_install
為root設定密碼
echo -e ‘\ny\njiake\njiake\ny\nn\ny\ny\n’ | mysql_secure_install
進入數據庫創建用戶jiake
create user ‘jiake‘@‘IP‘ identified by ‘jiake‘;
創建數據庫blog
create databaseblog;
為用戶jiake授權
grant all onblog.* to jiake;
查看mysql.user表中的用戶jiake:
6、php程序要想訪問數據庫,必須要加載連接數據庫模塊
安裝php-mysql
yum install php-mysql
安裝文將如下:
[root@centos6-route3 html]# rpm -qlphp-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib64/php/modules/mysql.so (普通,只能連接mysql)
/usr/lib64/php/modules/mysqli.so (新型,只能連接mysql)
/usr/lib64/php/modules/pdo_mysql.so (可以連接其他類型的數據庫)
需要重新啟動httpd服務:
systemctl reloadhttpd
(註意:在模塊方式中,只要是修改或添加了httpd的配置文件,或者php的配置文件,都需要重啟或重新加載httpd服務。)
7、測試php連接數據庫
cd /var/www/html
vim index.php
<?php
$mysqli=newmysqli("172.17.251.235","root","jiake");
if(mysqli_connect_errno()){
echo "連接數據庫失敗!";
$mysqli=null;
exit;
}
echo "連接數據庫成功!";
$mysqli->close();
?>
測試:
8、安裝PhpMyadmin
https://www.phpmyadmin.net/downloads/
下載支持上面安裝的php版本的對應phpmyadmin版本
解壓
unzip phpMyAdmin-4.0.10.20-all-languages
拷貝到主站點下,並改名
cp -rphpMyAdmin-4.0.10.20-all-languages /var/www/html/pma
需要安裝一個php-mbstring以提供模塊支持
yum install php-mbstring
安裝的文件如下:
[root@centos6-route3 pma]# rpm -qlphp-mbstring
/etc/php.d/mbstring.ini
/usr/lib64/php/modules/mbstring.so
重新啟動httpd服務
systemctl reloadhttpd
9、用瀏覽器打開,如:
http://172.17.251.235/pma
使用數據庫中的賬號登錄,可以使用管理員賬戶。
測試:
10、安裝WordPress,搭建站
https://cn.wordpress.org/
解壓:
tar xvf wordpress-4.8.1-zh_CN.tar.gz
拷貝到主站點下:
cp -r wordpress /var/www/html/wdpss
cd /var/www/html/wdpss
cp wp-config.sample.php wp-config.php
修改wp-config.php
vim wp-config.php
/** WordPress數據庫的名稱 */
define(‘DB_NAME‘,‘blog‘);
/** MySQL數據庫用戶名 */
define(‘DB_USER‘,‘jiake‘);
/** MySQL數據庫密碼 */
define(‘DB_PASSWORD‘,‘jiake‘);
/** MySQL主機 */
define(‘DB_HOST‘,‘172.17.251.235‘); (一定要指定數據庫的地址)
11、可以在瀏覽器中就行安裝了
如:http://172.17.251.235/wdpss
測試:
基於CGI接口的fpm方式部署LAMP
其基本步驟與基於module方式部署的方式相同的,只是安裝的一個軟件是不同的。
基於fpm模式安裝軟件的是:httpd php-fpm php-mysql mariadb-server
這裏只列出不同的地方:
將php卸載,替換為php-fpm
1、安裝php-fpm
yum install php-fpm
註意:php-fpm是一個獨立的進程,所以需要啟動該進程
systemctl startphp-fpm
該進程占用的是9000端口。
測試截圖:
(顯示服務端口)
修改配置:
vim /etc/php-fpm.d/www.conf
可以修改時區以及其他各種php設置,將監聽端口設置為監聽所有的端口
listen127.0.0.1:9000 ---> listen 9000
listen.allowed_clients= 127.0.0.1 (改行註釋掉默認就支持允許所有地址訪問,也可以添加多個地址,以逗號分隔)
-----------------------------------------
[root@localhost wp]# rpm -ql php-fpm
/etc/logrotate.d/php-fpm
/etc/php-fpm.conf
/etc/php-fpm.d
/etc/php-fpm.d/www.conf
/etc/sysconfig/php-fpm
/run/php-fpm
/usr/lib/systemd/system/php-fpm.service
/usr/lib/tmpfiles.d/php-fpm.conf
/usr/sbin/php-fpm
/usr/share/doc/php-fpm-5.4.16
/usr/share/doc/php-fpm-5.4.16/fpm_LICENSE
/usr/share/doc/php-fpm-5.4.16/php-fpm.conf.default
/usr/share/fpm
/usr/share/fpm/status.html
/usr/share/man/man8/php-fpm.8.gz
/var/log/php-fpm
----------------------------------------
2、修改httpd配置文件,使其連接到php-fpm
vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.html --->DirectoryIndex index.php index.html
vim /etc/httpd/conf.d/fpm.conf
----------
AddTypeapplication/x-httpd-php .php (添加對應資源的處理程序)
AddTypeapplication/x-httpd-php-source .phps
ProxyRequestsOff
ProxyPassMatch ^/(.*\.php)$ fcgi://127.0.0.1:9000/var/www/html/$1
-----------
重啟php-fpm服務生效
systemctlrestart php-fpm
測試截圖:
(查看php-fpm的端口)
3、安裝php-mysql
要想使php-fpm程序連接到數據庫需要安裝php-mysql
該工具提供的只是連接數據庫的模塊:
[root@localhost wp]# rpm -ql php-mysql
/etc/php.d/mysql.ini
/etc/php.d/mysqli.ini
/etc/php.d/pdo_mysql.ini
/usr/lib64/php/modules/mysql.so
/usr/lib64/php/modules/mysqli.so
/usr/lib64/php/modules/pdo_mysql.so
提供了三種連接模塊,需要重啟php-fpm服務
systemctlrestart php-fpm
後續的步驟和基於module的方式是相同的。
(需要註意的是,在該模式下,修改或添加httpd的相關配置文件,需要重新加載httpd服務,修改或添加php-fpm的配置文件,需要重新啟動php-fpm服務。)
----------------------------------------------------------------------------------------------
實驗中出現的錯誤現象,解決辦法:
1、 httpd服務啟動不開:配置文件的問題,使用httpd -t 進行配置文件檢測。
2、 php安裝完成後不能解釋執行php的文件:安裝php後,在httpd的配置文件/etc/httpd/conf.d/目錄下加了一個php.conf的配置文件,相當於修改了httpd的配置文件,需要重新加載httpd服務,可執行systemctl restart httpd 或systemctl reload httpd
3、 php程序無法連接到數據庫:原因1:指定的地址一定要是mariadb服務器的IP地址,不要寫localhost;原因2:連接數據庫的用戶和密碼一定要正確;原因3:在安裝了php-mysql後需要啟動httpd服務,php-mysql相當於修改了php的配置文件,php跟httpd是綁定到一塊的,所以需要重新啟動httpd服務,在基於fpm的方式安裝的php,需要重新啟動php-fpm.service服務。
4、 PhpMyAdmin無法啟動:該軟件必須要安裝php-mbstring該工具才可以正常啟動。
5、 無法安裝WordPress:需要在解壓到主站點目錄下的wp-config.sample.php改名,改為wp-config.php。
本文出自 “Linux運維” 博客,請務必保留此出處http://jk6627.blog.51cto.com/12002684/1975354
基於LAMP的博客平臺搭建