ubuntu搭建nginx服务器教程

ubuntu搭建nginx服务器教程

浏览次数:
信息来源: 用户投稿
更新日期: 2025-12-30
文章简介

ubuntu从官方源安装nginx wgethttp://nginx.org/keys/nginx_signing.key sudoapt-keyaddnginx_signing.key

2025阿里云双十一服务器活动

ubuntu从官方源安装nginx

wgethttp://nginx.org/keys/nginx_signing.key

sudoapt-keyaddnginx_signing.key

sudonano/etc/apt/sources.list#添加以下两句

debhttp://nginx.org/packages/ubuntu/precisenginx

deb-srchttp://nginx.org/packages/ubuntu/precisenginx

sudoapt-getinstallnginx

ubuntu从ppa源安装nginx:

sudoadd-apt-repositoryppa:nginx/stable

sudoapt-getinstallnginx

ubuntu从常规源安装nginx:

sudoapt-getinstallnginx

编译安装nginx

wgethttp://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/nginx_1.5.7-1~precise_i386.deb

wgethttp://nginx.org/download/nginx-1.5.7.tar.gz

cdnginx-1.5.7

(注意:nginx1.5.7是mainline版而非stable版)

为了方便开发和管理,我在根目录下新建了一个png目录,并且目录所有者设置为当前用户,nginx就编译在/png/nginx/1.5.7下面:

sudochowneechen:eechen/png

运行用户我定义为png:png,所以我需要新建这样一个用户:

sudoadduserpng--system--disabled-login--ingrouppng--no-create-home--home/nonexistent--gecos"pnguser"--shell/bin/false

(新建用户的命令可以参考官方deb包里的预安装脚本debian/preinst)

编译参数参考了nginx官方提供的deb包(nginx-v可见).

https://www.fruan.com/post/configure\

--prefix=/png/nginx/1.5.7\

--sbin-path=/png/nginx/1.5.7/sbin/nginx\

--conf-path=/png/nginx/1.5.7/conf/nginx.conf\

--error-log-path=/png/nginx/1.5.7/var/log/error.log\

--http-log-path=/png/nginx/1.5.7/var/log/access.log\

--pid-path=/png/nginx/1.5.7/var/run/nginx.pid\

--lock-path=/png/nginx/1.5.7/var/run/nginx.lock\

--http-client-body-temp-path=/png/nginx/1.5.7/var/cache/client_temp\

--http-proxy-temp-path=/png/nginx/1.5.7/var/cache/proxy_temp\

--http-fastcgi-temp-path=/png/nginx/1.5.7/var/cache/fastcgi_temp\

--http-uwsgi-temp-path=/png/nginx/1.5.7/var/cache/uwsgi_temp\

--http-scgi-temp-path=/png/nginx/1.5.7/var/cache/scgi_temp\

--with-http_realip_module\

--with-http_addition_module\

--with-http_gunzip_module\

--with-http_gzip_static_module\

--with-http_random_index_module\

--with-http_secure_link_module\

ubuntu搭建nginx服务器教程

--with-ipv6

注意:这一步按错误提示安装依赖的包,这时就是apt要发威的时候了,比如我的系统安装了这些包:

sudoapt-get-yinstall\

build-essential\

libpcre3-dev

安装好这些包后,下次编译新版nginx就不用再装了,而且基本也满足编译php时configure的需求.好了,configure成功后就可以编译安装了:

timemake&&makeinstall

time主要用来查看本次编译耗时.编译好后可以看看这个家伙的个头:

du-sh/png/nginx/1.5.7/sbin/nginx

5.5m/png/nginx/1.5.7/sbin/nginx

环境简单配置总结减小nginx编译后的文件大小:编辑源文件nginx-1.5.7/auto/cc/gcc去除debug信息(注释掉即可):

#cflags="$cflags-g"

这样编译后的主程序大小则为700多k,和nginx官方提供的deb包程序大小相近.另外configure时去掉一些不需要的模块,编译后的可执行文件会更小.当然,我需要一个服务脚本用来管理nginx,这时同样可以借助官方deb包里提供的服务脚本etc/init.d/nginx.我把它放到/png/nginx/1.5.7/nginx,对开头定义的几个值(13到19行)进行稍加修改:

path=/sbin:/usr/sbin:/bin:/usr/bin

conffile=/etc/nginx/nginx.conf

pidfile=/var/run/$name.pid

scriptname=/etc/init.d/$name

path=/sbin:/usr/sbin:/bin:/usr/bin

conffile=/png/nginx/1.5.7/conf/nginx.conf

daemon=/png/nginx/1.5.7/sbin/nginx

pidfile=/png/nginx/1.5.7/var/run/$name.pid

scriptname=/png/nginx/1.5.7/$name

启动前先创建一个cache目录,否则会提示出错:

mkdir/png/nginx/1.5.7/var/cache

启动nginx:

sudo/png/nginx/1.5.7/nginxstart

测试页面:

curl-i`hostname`

看一下端口:

sudonetstat-antp|grepnginx

查看一下它占用的内存:htop按f4过滤nginx

top-b-n1|head-n7&&top-b-n1|grepnginx

主要看res这个值,常驻内存(resident),不包括swap空间的物理内存,单位为kb,%mem就是以res为参照对象.可以看到nginx两个进程占用的物理内存加起来不到2m,内存占用非常小.另外top里的res这个值对应psaux里的rss这个值:

psaux|head-n1&&psaux|grepnginx

还有我们可以看到nginx的工人进程只有一个线程:

cat/proc/25047/status|grepthreads

threads:1

其中25047是nginx工人进程pid号.把nginx做成系统服务,开机自启动:

sudoln-s/png/nginx/1.5.7/nginx/etc/init.d/png-nginx

sudoupdate-rc.dpng-nginxdefaults#开机自启动

sudoupdate-rc.d-fpng-nginxremove#以后不想开机自启动可以这样禁止

sudoservicepng-nginxreload#这样就可以用service来管理nginx服务了,比如重载配置

最后,nginx的主配置文件位于/png/nginx/1.5.7/conf/nginx.conf,自己按需配置.

以上就是Ubuntu上安装Nginx服务器程序及简单环境配置的方法的详细内容,更多请关注主机测评网其它相关文章!

标签:
了解持续集成与持续部署(持续集成和持续部署)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!