欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

nginx 源码(2)运行

程序员文章站 2022-05-19 20:33:35
...
接上一篇文章
运行时报错,找不到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教程有兴趣的朋友有所帮助。