设为首页 收藏本站
查看: 621|回复: 0

[经验分享] Apache 2 : starting apache

[复制链接]

尚未签到

发表于 2015-8-3 10:09:19 | 显示全部楼层 |阅读模式
Apache HTTP server 如何启动?
    如果Listen directive 在conf文件中指定为默认的80端口(或者小于1024的其他端口),则需要root权限来启动HTTPD进程。当HTTP Server启动之后,并且完成了一些初始化的动作,如打开Apache的日志文件, Apache HTTPD进程会启动一定数量的child processes, 这些child process用来监听端口,或者响应请求。但是这些child process会以稍低的优先级来启动(非root用户权限)。而这些行为是由Multi-Processing Module来配置的。
  运行httpd可执行程序的推荐使用apachectl(apache2ctl)控制脚本。这个脚本会设置httpd启动时在不同的OS下正常运行所需要的环境变量。你也可以编辑apachectl脚本,通过修改HTTPD变量来指定httpd可执行程序正确的位置,并且指定httpd启动时你希望指定的命令行参数。
  httpd可执行程序运行时的第一件事是定位其配置文件httpd.conf。配置文件也可以在compile阶段指定,查看编译阶段所使用的参数可以通过:
  bl25p-6:/etc/apache2# apache2ctl -V      
Server version: Apache/2.2.9 (Debian)     
Server built:   Apr 20 2010 15:42:00     
Server's Module Magic Number: 20051115:15     
Server loaded:  APR 1.2.12, APR-Util 1.2.12     
Compiled using: APR 1.2.12, APR-Util 1.2.12     
Architecture:   64-bit     
Server MPM:     Worker     
  threaded:     yes (fixed thread count)     
    forked:     yes (variable process count)     
Server compiled with....     
-D APACHE_MPM_DIR="server/mpm/worker"     
-D APR_HAS_SENDFILE     
-D APR_HAS_MMAP     
-D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)     
-D APR_USE_SYSVSEM_SERIALIZE     
-D APR_USE_PTHREAD_SERIALIZE     
-D SINGLE_LISTEN_UNSERIALIZED_ACCEPT     
-D APR_HAS_OTHER_CHILD     
-D AP_HAVE_RELIABLE_PIPED_LOGS     
-D DYNAMIC_MODULE_LIMIT=128     
-D HTTPD_ROOT=""     
-D SUEXEC_BIN="/usr/lib/apache2/suexec"     
-D DEFAULT_PIDLOG="/var/run/apache2.pid"     
-D DEFAULT_SCOREBOARD="logs/apache_runtime_status"     
-D DEFAULT_ERRORLOG="logs/error_log"     
-D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"     
-D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"
  或者在运行apache2ctl的时候指定, apache2ctl –f /usr/local/apache2/conf/httpd.conf。
  如果启动阶段一切正常, server进程会从terminal分离, 命令行会提示你输入其它的命令。这时候,就意味着apache httpd server已经正常启动了。然后就可以使用你最常用的浏览器,来访问apache server的测试页面,其位置默认由DocumentRoot指定。
  在OS启动阶段启动Apache Http Server
    如果你希望在启动操作系统的时候自动启动Apache Http Server, 你需要在系统的startup 文件当中增加对apache2ctl的调用(通常情况下系统的startup文件为rc.local或者在rc.N下的某个文件)。但是之前请确保你的 Apache HTTP server 已经被正确配置了。
  此为,apache2ctl按照System V init的脚本接口规范设计,所以它可以接受start,stop,restart等参数,并且将他们转化成适当的信号发送给httpd deamon process。所以,通常你也可以简单的在系统的init.d目录下建立指向apacha2ctl的符合链接。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-93580-1-1.html 上篇帖子: httpd: apr_sockaddr_info_get() failed for apache 启动问题 下篇帖子: apache上部署django的静态文件
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表