接上一篇文章
运行时报错,找不到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进程的进程号。
【nginx 源码(2)运行】注意:
如果不使用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 ./nginxroot权限运行的是主进程,其他3个是work进程。
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
推荐阅读
- 日记博文|几种网络编程方式的比较
- C++|浅析boost::asio::deadline_timer运行机制
- JQuery Easy UI 使用
- nginx 源码(5)事件驱动架构
- 网络编程|nginx 源码(4)主流程
- nginx 源码(1)编译
- 网络编程|nginx 源码(3)调试
- epoll如何判断客户端不可读
- 关于TCP协议收到数据不完整