【轉存】阿里雲服務器下 LAMP 環境配置 —— 基於 CentOS 6.3

阿里雲服務器下 LAMP 環境配置 —— 基於 CentOS 6.3

一、Apache 配置php

—————————————————–html

vi /etc/httpd/conf/httpd.conf 編輯文件mysql

Options Indexes FollowSymLinkslaravel

在331行 修改成:Options Includes ExecCGI FollowSymLinks(容許服務器執行CGI及SSI)sql

#AddHandler cgi-script .cgi數據庫

在796行 修改成:AddHandler cgi-script .cgi .pl (容許擴展名爲.pl的CGI腳本運行)apache

AllowOverride None瀏覽器

在338行 修改成:AllowOverride All (容許.htaccess)服務器

AddDefaultCharset UTF-8socket

在759行 修改成:AddDefaultCharset GB2312 (添加GB2312爲默認編碼)

Options Indexes MultiViews

找到這一行,將「Indexes」刪除 ,變爲此狀態 Options MultiViews (不在瀏覽器上顯示樹狀目錄結構)

DirectoryIndex index.html index.html.var

在 402行 修改成:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var  (設置默認首頁文件,增長index.php)

KeepAlive Off

在76行 修改成:KeepAlive On (容許程序性聯機)

MaxKeepAliveRequests 100

在83行 修改成:MaxKeepAliveRequests 1000 (增長同時鏈接數)

:wq!  #保存退出

/etc/init.d/httpd restart 重啓

DocumentRoot 「/var/www/html」  修改成你的目錄   「/data0/www/xxxxxxxxx」  (這個目錄就是掛載的數據盤)

rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html    #刪除默認測試頁

Apache的日誌文件
ErrorLog  /etc/httpd/logs/error_log   (php的錯誤日誌也輸出到這裏)
CustomLog  /etc/httpd/logs/access_log combined

二、PHP 配置

—————————————————–

vi  /etc/php.ini   #編輯

date.timezone = PRC     #在946行 把前面的分號去掉,改成date.timezone = PRC

magic_quotes_gpc = On   #在745行 打開magic_quotes_gpc來防止SQL注入  (php5.4開始不支持magic_quotes_gpc(防SQL流入))

log_errors = On         #記錄錯誤日誌

:wq!  #保存退出

/etc/init.d/httpd restart   #重啓Apche , php

三、掛載數據盤

—————————————————–

阿里雲服務器的硬盤由兩塊組成,一塊是系統盤,一塊是數據盤,默認數據盤是沒有掛載的,若是要用到數據盤就須要本身手動掛載。

經過命令fdisk -l,能夠看到設備名爲/dev/xvdb。

另外在掛載前要對硬盤(/dev/xvdb)分區和格式化。

分區使用命令fdisk,格式化命令爲mkfs.ext3。

如何操做能夠參照官方文檔:Linux 系統掛載數據盤 。

數據盤最多能夠掛4塊,掛在/data0,之後其它的能夠掛在/data1,/data2,/data3

數據盤的做用,阿里雲服務器控制檯提供「重置」功能,可選重置系統盤,仍是數據盤,如何操做系統壞了,你能夠只重置系統盤,保留網站數據在數據盤。

四、配置MySQL數據庫

設置初始密碼,建庫,建表,導入數據

—————————————————–

請看這裏:MySQL備份與恢復,遠程訪問MySql服務器

而後把mysql的數據文件,移動到「數據盤」上,防止系統壞了重作系統時數據沒有了。

—————————————————–

我再移mysql的數據文件後,使用mysql -u用戶名 -p  登陸時,遇到了錯誤 :ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ‘/var/lib/mysql/mysql.sock’ (2)

主要是修改my.cnf文件時有幾步與上文不同,這裏說明一下。操做方法以下 :

1)、中止mysql進程

2)、把/var/lib/mysql整個目錄移到/data0/db

mv /var/lib/mysql /home/data/

這樣就把MySQL的數據文件移動到了/data0/db/mysql下

3)、修改my.cnf配置文件

不要直接使用/etc/my.cnf配置文件,請到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個(我是my-medium.cnf)到/etc/並更名爲my.cnf)中。命令以下:

[root@test1 mysql]# cp /usr/share/mysql/my-medium.cnf /etc/my.cnf

4)、編輯MySQL的配置文件/etc/my.cnf

爲保證MySQL可以正常工做,須要指明mysql.sock文件的產生位置。

# The following options will be passed to all MySQL clients
[client]
#password = your_password
port = 3306
#socket = /var/lib/mysql/mysql.sock #註釋了
socket=/data0/db/mysql/mysql.sock #新加的內容
# Here follows entries for some specific programs

# The MySQL server
[mysqld]
port = 3306
#socket = /var/lib/mysql/mysql.sock #註釋了
datadir=/data0/db/mysql #新加的內容
socket=/data0/db/mysql/mysql.sock #新加的內容

5)、MySQL啓動腳本/etc/rc.d/init.d/mysqld 不用作任何修改

6)、從新啓動MySQL服務

/etc/rc.d/init.d/mysqld start

若是工做正常移動就成功了,不然對照前面的7步再檢查一下。

移動完MySql以後,PHP鏈接不上Mysql數據庫了

—————————————————–

通過上面的的操做,把MySql的數據文件移到其它目錄後,PHP鏈接不上MySql數據庫了,是由於找不mysql.sock文件。

解決方法一:

建一個軟鏈接

cd /var/lib

mkdir mysql

ln -s  /data0/db/mysql/mysql.sock  /var/lib/mysql/mysql.sock

解決方案二:

修改/etc/php.ini文件

找到  mysql.default_socket =   一行,這個值一開始是空的,php將會使用內建在mysql中的默認值。

修改成如下內容:

mysql.default_socket = /data0/db/mysql/mysql.sock

mysql.sock的文件位置請跟據你的實際狀況填寫。

還有一處mysqli.default_socket =,要不要修改視狀況吧,我沒有修改。

相關文章
相關標籤/搜索