Ubuntu 从官方源安装 Nginx
?Ubuntu 从PPA源安装 Nginx :
?Ubuntu 从常规源安装 Nginx :
?编译安装Nginx
?(注意:Nginx1.5.7是Mainline版而非Stable版)
为了方便开发和管理,我在根目录下新建了一个png目录,并且目录所有者设置为当前用户,nginx就编译在/png/nginx/1.5.7下面:
?运行用户我定义为png:png,所以我需要新建这样一个用户:
?(新建用户的命令可以参考官方Deb包里的预安装脚本DEBIAN/preinst)
编译参数参考了Nginx官方提供的Deb包(nginx -V可见).
? ?注意:这一步按错误提示安装依赖的包,这时就是apt要发威的时候了,比如我的系统安装了这些包:
? ?
安装好这些包后,下次编译新版Nginx就不用再装了,而且基本也满足编译PHP时configure的需求.
好了,configure成功后就可以编译安装了:
time主要用来查看本次编译耗时.
编译好后可以看看这个家伙的个头:
环境简单配置总结
减小Nginx编译后的文件大小:
编辑源文件 nginx-1.5.7/auto/cc/gcc 去除Debug信息(注释掉即可):
这样编译后的主程序大小则为700多K,和Nginx官方提供的Deb包程序大小相近.
另外configure时去掉一些不需要的模块,编译后的可执行文件会更小.
当然,我需要一个服务脚本用来管理Nginx,这时同样可以借助官方Deb包里提供的服务脚本etc/init.d/nginx.
我把它放到/png/nginx/1.5.7/nginx,对开头定义的几个值(13到19行)进行稍加修改:
启动前先创建一个cache目录,否则会提示出错:
?启动Nginx:
?测试页面:
?看一下端口:
?
查看一下它占用的内存:
htop按F4过滤nginx
用top同样能看到类似内容:
?
主要看RES这个值,常驻内存(resident),不包括SWAP空间的物理内存, 单位为KB,%MEM就是以RES为参照对象.
可以看到Nginx两个进程占用的物理内存加起来不到2M,内存占用非常小.
另外top里的RES这个值对应ps aux里的RSS这个值:
还有我们可以看到Nginx的工人进程只有一个线程:
? ?
其中25047是Nginx工人进程PID号.
把Nginx做成系统服务,开机自启动:
最后,Nginx的主配置文件位于/png/nginx/1.5.7/conf/nginx.conf,自己按需配置.