Centos7 TP5部署和錯誤記錄

Apache
(1) 安裝
Centos7本身已經(jīng)自帶了httpd, 全新安裝則通過

yum install -y httpd

安裝完成后通過

systemctl start httpd.service

進行啟動,然后通過訪問服務(wù)器IP(默認端口80),看到Apache的歡迎界面則安裝成功。

以下是Centos上對服務(wù)進行管理的幾條指令:

systemctl start xxx.service  // 啟動xxx服務(wù)
systemctl enable xxx.service  // 設(shè)置開機自動啟動
systemctl status xxx.service  // 查看xxx服務(wù)啟動狀態(tài)
systemctl restart xxx.service  // 重啟xxx服務(wù)
systemctl stop xxx.service  // 停止xxx服務(wù)

(2) 配置
通過yum安裝的Apache,會默認安裝在

/etc/httpd

配置文件也在相應(yīng)的目錄中

vim /etc/httpd/conf/httpd.conf

httpd.conf配置文件的修改主要有以下幾項:

ServerSignature On => ServerSignature Off  // 配置錯誤頁不顯示Apache版本
Options Indexes FollowSymLinks => Options FollowSymLinks  // 配置Apache不能通過目錄層級進行文件訪問
AllowOverride None => AllowOverride All  // 配置允許.htaccess
DirectoryIndex index.html => DirectoryIndex index.html index.php  // 配置Apache支持.php文件解析

在vi/vim中可以通過:/xxx進行搜索定位,n鍵查找下一項
配置成功后重啟服務(wù)

PHP
(1) 安裝
PHP自帶5.4版本

yum install php

如PHP5.6或PHP7,可以通過配置Centos rpm所對應(yīng)的yum源,再執(zhí)行安裝

yum remove php* php-common  // 刪除已安裝的PHP版本
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm  // 配置PHP7對應(yīng)的yum源
yum install php70w  // yum執(zhí)行安裝PHP7

安裝結(jié)束后,可以通過

php -v

查看已安裝的PHP版本

安裝成功后,在/var/www/html目錄下新建一個test.php文件,鍵入以下代碼測試Apache對.php文件的解析:

<?php
    echo phpinfo();
?>

之后在瀏覽器訪問http://(IP地址)/test.php, 查看到phpinfo則代表PHP安裝成功。如果訪問該鏈接顯示的是以上代碼,則是由于Apache配置出錯,或者PHP安裝錯誤,可以通過回顧以上Apache的配置進行調(diào)試。

(2) 配置
PHP的配置文件是php.ini, 通過yum安裝的PHP會自動保存在/etc/php.ini下,同樣通過cp進行備份后,通過vi進行編輯
配置項:

;date.timezone => date.timezone = PRC  // 配置時區(qū),把前面的分號去掉
short_open_tag = OFF => short_open_tag = ON  // 配置支持短標簽, TP和部分php組件需要使用到

配置結(jié)束后重新httpd服務(wù)生效。

MariaDB
由于Mysql被收購的原因,目前Centos7中直接用MariaDB代替了Mysql數(shù)據(jù)庫。
(1) 安裝
使用yum默認安裝

yum install mariadb-server mariadb

之后通過

systemctl start mariadb.service

啟動MariaDB服務(wù)[備注1]

(2) 配置
先拷貝cnf文件,直接覆蓋原配置

cp /usr/share/mysql/my-huge.cnf /etc/my.cnf

之后再通過

mysql_secure_installation

修改root用戶密碼

mysql -u root -p

輸入密碼后登錄MariaDB進行操作

一般來說我們會先在本地把數(shù)據(jù)庫建好,然后導(dǎo)出sql文件,在Mariadb中導(dǎo)入sql文件的方法如下:

 - create database xxx;
 - use xxx;
 - source xxx.sql; #注意路徑要準確

導(dǎo)入成功。

PHP連接MariaDB
yum默認安裝如下[備注2]

yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash

組件安裝完畢后,配置php.ini文件,添加sock路徑

pdo_mysql.default_socket= /var/lib/mysql/mysql.sock

該sock路徑可以進行全局搜索,若不配置,在鏈接數(shù)據(jù)庫時會報錯。

配置完畢后,可以在剛才的test.php頁面中看到已支持的PHP組件的信息。
若是簡單地支持PHP連接MariaDB,則需確保PDO_MYSQL組件已支持。

代碼部署
Apache安裝后配置的默認網(wǎng)站路徑是/var/www/html,可以在httpd.conf中進行修改
(1) 代碼上傳
上傳主要有兩種方式,一種是通過XShell等軟件將代碼在本地上傳到服務(wù)器,另一種是通過版本控制工具,如SVN, GIT將代碼從倉庫拉到服務(wù)器。
筆者在開發(fā)過程中使用的是SVN工具,通過yum安裝svn后,直接svn checkout到/var/www/html/Fancy中(假定當前項目文件夾為Fancy)
另外兩種方式大家可以直接在網(wǎng)上找到對應(yīng)的簡便方法。
(2) 代碼配置
首先是文件夾的權(quán)限與所有者修改:
因為在Centos中,我們通過上述操作下載的項目代碼是沒有操作權(quán)限的,默認的歸屬者也是root用戶。而我們使用TP和Apache訪問網(wǎng)站時,需要代碼目錄有一定的操作權(quán)限,并且Apache用戶是可操作方。

chmod -R 755 /var/www/html/AAA  // 修改AAA目錄的操作權(quán)限
cut -d : -f 1 /etc/passwd  // 查看當前系統(tǒng)中所有用戶,找到Apache對應(yīng)的用戶名,可能是apache或www
chown -R apache /var/www/html/Fancy  // 修改apache用戶可操作AAA目錄

若缺少以上的操作,則配置完訪問網(wǎng)站時會出現(xiàn)Permission denied的錯誤提醒。

其次是數(shù)據(jù)庫連接配置:
在Windows下安裝Mysql時,Mysql是默認支持本地訪問和IP地址訪問的,因此我們配置database.php中的host為"localhost"或"127.0.0.1"都沒問題。但在Centos中安裝MariaDB時,因其本身的權(quán)限控制機制不同,因此默認不支持通過ip進行訪問,需要將database.php中的"127.0.0.1"統(tǒng)一修改為"localhost",否則一直會報PDOException [2002]或[2003]的錯誤。
配置完成后,利用phpinfo()查看MySQL連通即可。

修改程序目錄
修改程序中,application目錄下config.php中的INDEX等變量名。
修改程序中,application目錄下database.php目錄下的數(shù)據(jù)庫連接信息。

配置完成

[備注1]

[root@localhost ~]# systemctl start mariadb.service
Job for mariadb.service failed. See 'systemctl status mariadb.service' and 'journalctl -xn' for details.

數(shù)據(jù)庫安裝沖突或安裝錯誤,刪除后,徹底清理文件夾,重新安裝

yum remove mariadb maridb-server
rm -rf /var/lib/mysql.
yum install mariadb-server mariadb

[備注2]
Error: php70w-common conflicts with php-common-5.4.16-42.el7.x86_64
版本不匹配:
(1)降級PHP
(2)查找對應(yīng)版本:

yum search ldap
#找到匹配的版本安裝(我的是php70w-ldap.x86-64)
#重新安裝:
yum install php70w-ldap.x86-64

修改apache配置文件,使定位到/home/www/

vim /etc/httpd/conf/httpd.conf   -- 用編輯器打開配置文件(沒安裝vim的同學(xué)可以用vi)
systemctl restart httpd.service  // 重啟服務(wù)

更改訪問路徑

/etc/httpd/conf/httpd.conf
DocumentRoot "/var/www/html/cdlface/public/"

參考文獻:
http://www.thinkphp.cn/topic/45616.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容