具體安裝過程不用複述,網上很多,我參照的是http://www.linuxidc.com/Linux/2012-10/71851.htm,在實際的配置過程中遇到了一些新的問題,記錄如下:
問題一:CentOS和RHEL的官方yum源中暫時沒有Nginx等軟件包,所以我們需要使用EPEL的yum源。方法如下:
RHEL/CentOS/SL Linux 6.x 下安裝 EPEL6 yum源:
32位系統選擇:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm
64位系統選擇:
rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
導入key:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
注意,上面的地址有可能會發生變化,需要實時作出調整,而且跑第一條命令可能需要一定的時間;
問題二:啓動apache時,提示:(13)Permission denied: make_sock: could not bind to address 127.0.0.1:8081
解決方法: /usr/sbin/setenforce 0 //關閉SELinux,在輸入service httpd start即可正常啓動;但是這樣做太不合理,而且發現每次開機啓動是都得重新設置;
於是上網求助。結果查到以下信息:
semanage port -l|grep http
semanage port -a -t http_port_t -p tcp 81
可我的本機並沒有semanage這個命令。於是又有個新的問題。
考慮是否沒有安裝:#yum install semagage 沒有找到此包。
應該是:
#yum whatprovides /usr/sbin/semanage
#yum -y install policycoreutils-python
#semanage port -l | grep http //查看現在支持的httpd端口,沒有8081;
但是輸入:#semanage port -a -t http_port_t -p tcp 8081,提示:Port tcp/8081 already defined
輸入#semanage port -l | grep 8081
顯示:transproxy_port_t tcp 8081 //端口被佔用
於是輸入:#semanage port -a -t http_port_t -p tcp 8888 //添加一個8888端口
沒有問題,再把httpd.conf中Listen改成8888,啓動httpd服務,ok!
安裝centOS 後 某些服務不是自動啓動
chkconfig 可以檢查和 設置服務自動啓動
#chkconfig --list
輸出 所有服務列表
如果列表中沒有你要啓動的服務
可以使用
#chkconfig --add 添加進去:
#chkconfig --add postfix
刪除自然就是
#chkconfig --del postfix
--list 後面可以加 服務名稱 就只輸出此服務的信息
例如
#chkconfig --list httpd
httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
上面的輸出 0-6 都爲off 時 表示 沒有自動啓動
0-6 分別表示的是
等級0表示:表示關機
等級1表示:單用戶模式
等級2表示:無網絡連接的多用戶命令行模式
等級3表示:有網絡連接的多用戶命令行模式
等級4表示:不可用
等級5表示:帶圖形界面的多用戶模式
等級6表示:重新啓動
#chkconfig httpd on
就可以把httpd服務 設置爲自動啓動了
再次查看
#chkconfig --list httpd
httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
這個時候2~5都是on,設置成功。
相反的
#chkconfig httpd off 就是 關閉自動啓動
最後 還有個 --level 應該是對 0-6 某些 等級進行單獨設置
#chkconfig --level 35 httpd on 將3和5 設置成on
問題三:mysql也湊熱鬧,啓動服務失敗,查看日誌文件顯示:Table 'mysql.user' doesn't exist
解決方法:
輸入以下命令
mysql_install_db
mysqld_safe
service mysqld start