作者:狗且偷生 | 来源:互联网 | 2017-11-04 08:21
用yuminstallhttpd*安装的httpd服务器,默认是在目录etchttpd下面但是项目路径默认是在:varwwwhtml下面,可以在httpd.conf配置文件里查看如果是网上下载的httpd来安装,就不同,这样需要启动的话,不能用servicehttpdstart。需要到目录下apac
用yum install httpd*安装的httpd服务器,默认是在目录 /etc/httpd下面
但是项目路径默认是在:/var/www/html下面,可以在httpd.conf配置文件里查看
如果 是网上下载的httpd来安装,就不同,这样需要启动的话,不能用service httpd start。
需要到目录下/apache2/bin/httpd。这样就可以启动了
安装 apache压缩
把下载下来的包放在 /usr/local/src 下,使用 tar zxvf httpd-NN.tar.gz解压,
cd httpd-NN
./configure --prefix=/usr/local/httpd
make
make install
现在你发现在/usr/local下面多出了一个httpd的目录
我们可以利用 /usr/local/httpd/bin/apachectl -k start|stop|restart 来管理httpd服务。
如果要随系统启动,我们必须在 /etc/rc.d/init.d/rc.local文件的末尾加上一行:
/usr/local/httpd/bin/apachectl -k start
即使是这样,但是我们还是不方便管理httpd服务,我们能不能,像rpm安装那样使用service服务来管理httpd服务呢?
答案是肯定的我们必须如下操作:
在 /etc/rc.d/init.d/下建立一个 httpd的文件,利用 chmod 755 httpd 使其具有执行能力。
vi httpd 添加如下内容:
- #!/bin/bash
- #
- # httpd Startup script for the Apache HTTP Server
- #
- # chkconfig: - 85 15
- # description: Apache is a World Wide Web server. It is used to serve
- # HTML files and CGI.
- # processname: httpd
- # config: /etc/httpd/conf/httpd.conf
- # config: /etc/sysconfig/httpd
- # pidfile: /var/run/httpd.pid
-
- # Source function library.
- . /etc/rc.d/init.d/functions
-
- if [ -f /etc/sysconfig/httpd ]; then
- . /etc/sysconfig/httpd
- fi
-
- # Start httpd in the C locale by default.
- HTTPD_LANG=${HTTPD_LANG-\"C\"}
-
- # This will prevent initlog from swallowing up a pass-phrase prompt if
- # mod_ssl needs a pass-phrase from the user.
- INITLOG_ARGS=\"\"
-
- # Set HTTPD=/usr/sbin/httpd.worker in /etc/sysconfig/httpd to use a server
- # with the thread-based \"worker\" MPM; BE WARNED that some modules may not
- # work correctly with a thread-based MPM; notably PHP will refuse to start.
-
- # Path to the apachectl script, server binary, and short-form for messages.
- apachectl=/usr/sbin/apachectl
- httpd=${HTTPD-/usr/sbin/httpd}
- prog=httpd
- pidfile=${PIDFILE-/var/run/httpd.pid}
- lockfile=${LOCKFILE-/var/lock/subsys/httpd}
- RETVAL=0
-
- # check for 1.3 configuration
- check13 () {
- CONFFILE=/etc/httpd/conf/httpd.conf
- GONE=\"(ServerType|BindAddress|Port|AddModule|ClearModuleList|\"
- GONE=\"${GONE}AgentLog|RefererLog|RefererIgnore|FancyIndexing|\"
- GONE=\"${GONE}AccessConfig|ResourceConfig)\"
- if LANG=C grep -Eiq \"^[[:space:]]*($GONE)\" $CONFFILE; then
- echo
- echo 1>&2 \" Apache 1.3 configuration directives found\"
- echo 1>&2 \" please read /usr/share/doc/httpd-2.2.3/migration.html\"
- failure \"Apache 1.3 config directives test\"
- echo
- exit 1
- fi
- }
-
- # The semantics of these two functions differ from the way apachectl does
- # things -- attempting to start while running is a failure, and shutdown
- # when not running is also a failure. So we just do it the way init scripts
- # are expected to behave here.
- start() {
- echo -n {1}quot;Starting $prog: \"
- check13 || exit 1
- LANG=$HTTPD_LANG daemon $httpd $OPTIONS
- RETVAL=$?
- echo
- [ $RETVAL = 0 ] && touch ${lockfile}
- return $RETVAL