/usr/sbin/httpd -k start -f /usr/src/conf/httpd.conf 这种方式启动就不需要修改别人的配置文件了,所有的配置都可以写在里面。
下面是一些遇到过的问题
1、安装的模块不能正确添加进去
修改 ServerRoot 为包含 Modules 的目录,这个一般是安装目录
2、不能加载到 mime.types 文件
这个是因为 yum 安装和包安装的目录结构不一样了,yum 安装后的mime.types 文件没在安装目录下,需要手动指定
<IfModule mod_mime.c>
TypesConfig /etc/mime.types
</IfModule>
IfModule mod_mime.c 使用这个是说加载了 mod_mime.c 的话才设置具体的 mime 文件路径
3、[notice] SELinux policy enabled; httpd running as context unconfined_u:unconfined_r这个是系统开启了 selinux ,去/etc/selinux/config 里面关掉
4、getpwuid: couldn't determine user name from uid 4294967295, you probably need to modify the User directive这个是说不能用这个用户来启动 apache,启动 apache 一般都是用的 apache:apache 用户,所以使用User apacheGroup apache
5、AddHandler cgi-script .cgi .pl 不能用这个命令必须要加载 mod_mime 这个模块才能用
6、IndexOptions 不能用需要加载 mod_autoindex 这个模块
7、Order Allow 等不能用在 apache2.0 版本是需要加载 mod_access 这个模块但在apache2.2 版本是需要加载 mod_authz_host 模块,这里要注意将自己的版本看好
8、不设置页面编码输出乱码由于在linux下开发,所以一般都是utf8编码,如果不想在页面上指定编码,那么设置一个服务器默认输出编码AddDefaultCharset UTF-8
9、DirectoryIndex 这个命令不能用
需要加载 mod_dir 模块
10、我要运行 cgi
需要加载 mod_cgi 模块
在 Directory 里面的 Options 里面添加 ExecCGI
如果这个文件夹被多次设置,最好使用 +ExecCGI 这样就会在所有这个目录设置下运行 cgi,就算后面有其他设置也不影响
最新评论