The httpd server installed with Yum install httpd * is under the/etc/httpd directory by default.
However, the project path is under/var/www/html by default, which can be viewed in the httpd. conf configuration file.
If you download httpd from the Internet for installation, it is different. If you need to start it, you cannot use service httpd start.
You need to go to the/apache2/bin/httpd directory. In this way, you can start
Install Apache Compression
Put the downloaded package under/usr/local/src, decompress it with tar zxvf httpd-NN.tar.gz,
CD httpd-nn
./Configure -- prefix =/usr/local/httpd
Make
Make install
Now you find that there is an extra httpd directory under/usr/local.
We can use/usr/local/httpd/bin/apachectl-k start | stop | restart to manage httpd services.
To start with the system, add a line at the end of the/etc/rc. d/init. d/rc. Local file:
/Usr/local/httpd/bin/apachectl-K start
Even so, we still cannot manage the HTTPd service. Can we use the Service to manage the HTTPd service like RPM installation?
The answer is yes. We must do the following:
Create an httpd file under/etc/rc. d/init. d/and use chmod 755 httpd to make it executable.
Add the following content to 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/functionsif [ -f /etc/sysconfig/httpd ]; then . /etc/sysconfig/httpdfi# 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/apachectlhttpd=${HTTPD-/usr/sbin/httpd}prog=httpdpidfile=${PIDFILE-/var/run/httpd.pid}lockfile=${LOCKFILE-/var/lock/subsys/httpd}RETVAL=0# check for 1.3 configurationcheck13 () { 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}# When stopping httpd a delay of >10 second is required before SIGKILLing the# httpd parent; this gives enough time for the httpd parent to SIGKILL any# errant children.stop() { echo -n {1}quot;Stopping $prog: " killproc -d 10 $httpd RETVAL=$? echo [ $RETVAL = 0 ] && rm -f ${lockfile} ${pidfile}}reload() { echo -n {1}quot;Reloading $prog: " if ! LANG=$HTTPD_LANG $httpd $OPTIONS -t >&/dev/null; then RETVAL=$? echo {1}quot;not reloading due to configuration syntax error" failure {1}quot;not reloading $httpd due to configuration syntax error" else killproc $httpd -HUP RETVAL=$? fi echo}# See how we were called.case "$1" in start) start ;; stop) stop ;; status) status $httpd RETVAL=$? ;; restart) stop start ;; condrestart) if [ -f ${pidfile} ] ; then stop start fi ;; reload) reload ;; graceful|help|configtest|fullstatus) $apachectl $@ RETVAL=$? ;; *) echo {1}quot;Usage: $prog {start|stop|restart|condrestart|reload|status|fullstatus|graceful|help|configtest}" exit 1esacexit $RETVAL
Use chkconfig -- add httpd
Chkconfig -- level 2345 httpd on
In this way, httpd can use the service httpd START | stop | restart command for management,
It is started with the system in the runtime environment of 2, 3, 4, and 5.