具体安装过程不用复述,网上很多,我参照的是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