1. 程式人生 > >基於LAMP的博客平臺搭建

基於LAMP的博客平臺搭建

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 (創建了一個會話目錄,

apache用戶要對該目錄有寫權限)

/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

技術分享

6php程序要想訪問數據庫,必須要加載連接數據庫模塊

安裝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的配置文件,phphttpd是綁定到一塊的,所以需要重新啟動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的博客平臺搭建