nginx 源码(2)运行

原创
2016-08-08 09:28:15 825浏览

接上一篇文章
运行时报错,找不到nginx.conf文件,这个文件在conf目录下,为了方便我们把默认的nginx前缀改成当前目录,修改文件auto/options中PREFIX定义为当前目录:

if [ ".$PREFIX" = "." ]; then
    PREFIX=.
fi

在当前的源码目录下新建文件夹logs 和 html,在html目录下新建文件index.html, 里面输入
success
重新make clean,make,生成新的nginx二进制文件,运行
sudo ./nginx
查看进程
ps -ef|grep nginx
能看到nginx已经成功启动,在浏览器中访问http://localhost,页面返回sucess!
查看日志:
logs/access.log中有访问记录
如果出错,logs/error.log中有报错信息。
logs/nginx.pid中是nginx进程的进程号。

注意:
如果不使用root运行,则会报错:

2015/03/15 13:44:13 [emerg] 19240#0: bind() to 0.0.0.0:80 failed (13: Permission denied)

如果没有html目录和下面的index.html文件,则会报错:

2015/03/15 13:47:55 [error] 19310#0: *1 “./html/” is not found (2: No such file or directory), client: 127.0.0.1, URL: /

因为我建的是一个最简单的页面,没有favicon.ico,所以这里会报错:

2015/03/15 13:47:55 [error] 19310#0: *1 open() “./html/favicon.ico” failed (2: No such file or directory), client: 127.0.0.1, URL: /favicon.ico

运行时,一共有4个进程:

root 19715 1144 0 14:04 ? 00:00:00 ./nginx
nobody 19716 19715 0 14:04 ? 00:00:00 ./nginx
nobody 19717 19715 0 14:04 ? 00:00:00 ./nginx
nobody 19718 19715 0 14:04 ? 00:00:00 ./nginx

root权限运行的是主进程,其他3个是work进程。

以上就介绍了nginx 源码(2)运行,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。