阿里云服務(wù)器下配置LAMP環(huán)境——基于CentOS 6.3
1、Apache配置
-----------------------------------------------------
vi /etc/httpd/conf/httpd.conf 編輯文件
Options Indexes FollowSymLinks
在331行 修改為:Options Includes ExecCGI FollowSymLinks(允許服務(wù)器執(zhí)行CGI及SSI)
#AddHandler cgi-script .cgi
在796行 修改為:AddHandler cgi-script .cgi .pl (允許擴(kuò)展名為.pl的CGI腳本運(yùn)行)
AllowOverride None
在338行 修改為:AllowOverride All (允許.htaccess)
AddDefaultCharset UTF-8
在759行 修改為:AddDefaultCharset GB2312 (添加GB2312為默認(rèn)編碼)
Options Indexes MultiViews
找到這一行,將“Indexes”刪除 ,變?yōu)榇藸顟B(tài) Options MultiViews?(不在瀏覽器上顯示樹(shù)狀目錄結(jié)構(gòu))
DirectoryIndex index.html index.html.var
在 402行 修改為:DirectoryIndex index.html index.htm Default.html Default.htm index.php Default.php index.html.var ?(設(shè)置默認(rèn)首頁(yè)文件,增加index.php)
KeepAlive Off
在76行 修改為:KeepAlive On (允許程序性聯(lián)機(jī))
MaxKeepAliveRequests 100
在83行 修改為:MaxKeepAliveRequests 1000 (增加同時(shí)連接數(shù))
:wq! ?#保存退出
/etc/init.d/httpd restart 重啟
DocumentRoot '/var/www/html' ?修改為你的目錄 ? '/data0/www/xxxxxxxxx' ?(這個(gè)目錄就是掛載的數(shù)據(jù)盤(pán))
rm -f /etc/httpd/conf.d/welcome.conf /var/www/error/noindex.html ? ?#刪除默認(rèn)測(cè)試頁(yè)
Apache的日志文件ErrorLog? /etc/httpd/logs/error_log?? (php的錯(cuò)誤日志也輸出到這里)CustomLog? /etc/httpd/logs/access_log combined
2、php配置
-----------------------------------------------------
vi ?/etc/php.ini ? #編輯
date.timezone = PRC ? ? #在946行 把前面的分號(hào)去掉,改為date.timezone = PRC
magic_quotes_gpc = On ? #在745行 打開(kāi)magic_quotes_gpc來(lái)防止SQL注入? (php5.4開(kāi)始不支持magic_quotes_gpc(防SQL流入))
log_errors = On ? ? ? ? #記錄錯(cuò)誤日志
:wq! ?#保存退出
/etc/init.d/httpd restart ? #重啟Apche , php
3、掛載數(shù)據(jù)盤(pán)
-----------------------------------------------------
阿里云服務(wù)器的硬盤(pán)由兩塊組成,一塊是系統(tǒng)盤(pán),一塊是數(shù)據(jù)盤(pán),默認(rèn)數(shù)據(jù)盤(pán)是沒(méi)有掛載的,如果要用到數(shù)據(jù)盤(pán)就需要自己手動(dòng)掛載。
通過(guò)命令fdisk -l,可以看到設(shè)備名為/dev/xvdb。
另外在掛載前要對(duì)硬盤(pán)(/dev/xvdb)分區(qū)和格式化。
分區(qū)使用命令fdisk,格式化命令為mkfs.ext3。
如何操作可以參照官方文檔【Linux 系統(tǒng)掛載數(shù)據(jù)盤(pán)?】http://help.aliyun.com/manual?helpId=271
數(shù)據(jù)盤(pán)最多可以掛4塊,掛在/data0,以后其它的可以掛在/data1,/data2,/data3
數(shù)據(jù)盤(pán)的作用,阿里云服務(wù)器控制臺(tái)提供“重置”功能,可選重置系統(tǒng)盤(pán),還是數(shù)據(jù)盤(pán),如何操作系統(tǒng)壞了,你可以只重置系統(tǒng)盤(pán),保留網(wǎng)站數(shù)據(jù)在數(shù)據(jù)盤(pán)。
4、配置MySql數(shù)據(jù)庫(kù)--設(shè)置初始密碼,建庫(kù),建表,導(dǎo)入數(shù)據(jù)
-----------------------------------------------------
請(qǐng)看這里:MySql備份與恢復(fù),遠(yuǎn)程訪問(wèn)MySql服務(wù)器
5、把mysql的數(shù)據(jù)文件,移動(dòng)到“數(shù)據(jù)盤(pán)”上,防止系統(tǒng)壞了重做系統(tǒng)時(shí)數(shù)據(jù)沒(méi)有了。
-----------------------------------------------------
我再移mysql的數(shù)據(jù)文件后,使用mysql -u用戶名 -p ?登錄時(shí),遇到了錯(cuò)誤 :ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ’/var/lib/mysql/mysql.sock’ (2)
主要是修改my.cnf文件時(shí)有幾步與上文不一樣,這里說(shuō)明一下。操作方法如下 :
1)、停止mysql進(jìn)程
2)、把/var/lib/mysql整個(gè)目錄移到/data0/db
mv /var/lib/mysql /home/data/
這樣就把MySQL的數(shù)據(jù)文件移動(dòng)到了/data0/db/mysql下
3)、修改my.cnf配置文件
不要直接使用/etc/my.cnf配置文件,請(qǐng)到/usr/share/mysql/下找到*.cnf文件,拷貝其中一個(gè)(我是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文件的產(chǎn)生位置。
# The following options will be passed to all MySQL clients[client]#password = your_passwordport = 3306#socket = /var/lib/mysql/mysql.sock #注釋了socket=/data0/db/mysql/mysql.sock #新加的內(nèi)容# Here follows entries for some specific programs
# The MySQL server[mysqld]port = 3306#socket = /var/lib/mysql/mysql.sock #注釋了datadir=/data0/db/mysql #新加的內(nèi)容socket=/data0/db/mysql/mysql.sock #新加的內(nèi)容
5)、MySQL啟動(dòng)腳本/etc/rc.d/init.d/mysqld 不用做任何修改
6)、重新啟動(dòng)MySQL服務(wù)
/etc/rc.d/init.d/mysqld start
如果工作正常移動(dòng)就成功了,否則對(duì)照前面的7步再檢查一下。
移動(dòng)完MySql之后,PHP連接不上Mysql數(shù)據(jù)庫(kù)了
-----------------------------------------------------
經(jīng)過(guò)上面的的操作,把MySql的數(shù)據(jù)文件移到其它目錄后,PHP連接不上MySql數(shù)據(jù)庫(kù)了,是因?yàn)檎也籱ysql.sock文件。
解決方法一:
建一個(gè)軟連接
cd?/var/lib
mkdir mysql
ln -s ?/data0/db/mysql/mysql.sock ?/var/lib/mysql/mysql.sock
解決方案二:
修改/etc/php.ini文件
找到 ?mysql.default_socket = ? 一行,這個(gè)值一開(kāi)始是空的,php將會(huì)使用內(nèi)建在mysql中的默認(rèn)值。
修改為以下內(nèi)容:
mysql.default_socket = /data0/db/mysql/mysql.sock
mysql.sock的文件位置請(qǐng)跟據(jù)你的實(shí)際情況填寫(xiě)。
還有一處mysqli.default_socket =,要不要修改視情況吧,我沒(méi)有修改。
轉(zhuǎn)自:http://elf8848.iteye.com/blog/1698351
相關(guān)文章:
1. ASP.NET MVC把數(shù)據(jù)庫(kù)中枚舉項(xiàng)的數(shù)字轉(zhuǎn)換成文字2. ASP.NET Core自定義中間件的方式詳解3. 《CSS3實(shí)戰(zhàn)》筆記--漸變?cè)O(shè)計(jì)(一)4. 用xslt+css讓RSS顯示的跟網(wǎng)頁(yè)一樣漂亮5. 教你JS更簡(jiǎn)單的獲取表單中數(shù)據(jù)(formdata)6. Ajax實(shí)現(xiàn)異步加載數(shù)據(jù)7. 測(cè)試模式 - XSL教程 - 58. html5手機(jī)觸屏touch事件介紹9. CSS3實(shí)現(xiàn)動(dòng)態(tài)翻牌效果 仿百度貼吧3D翻牌一次動(dòng)畫(huà)特效10. 讓chatgpt將html中的圖片轉(zhuǎn)為base64方法示例
