千家信息网

Ubuntu上安装Nginx服务器程序及简单环境配置的方法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇"Ubuntu上安装Nginx服务器程序及简单环境配置的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获
千家信息网最后更新 2026年11月01日Ubuntu上安装Nginx服务器程序及简单环境配置的方法

这篇"Ubuntu上安装Nginx服务器程序及简单环境配置的方法"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"Ubuntu上安装Nginx服务器程序及简单环境配置的方法"文章吧。

ubuntu 从官方源安装 nginx

cd ~ wget http://nginx.org/keys/nginx_signing.key sudo apt-key add nginx_signing.key sudo nano /etc/apt/sources.list   # 添加以下两句 deb http://nginx.org/packages/ubuntu/ precise nginx deb-src http://nginx.org/packages/ubuntu/ precise nginx sudo apt-get update sudo apt-get install nginx

ubuntu 从ppa源安装 nginx :

sudo add-apt-repository ppa:nginx/stable sudo apt-get update sudo apt-get install nginx

ubuntu 从常规源安装 nginx :

sudo apt-get install nginx

编译安装nginx

wget http://nginx.org/packages/mainline/ubuntu/pool/nginx/n/nginx/nginx_1.5.7-1~precise_i386.deb wget http://nginx.org/download/nginx-1.5.7.tar.gztar xzf nginx-1.5.7.tar.gzcd nginx-1.5.7

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

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

sudo mkdir /pngsudo chown eechen:eechen /png

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

sudo addgroup png --systemsudo adduser png --system --disabled-login --ingroup png --no-create-home --home /nonexistent --gecos "png user" --shell /bin/false

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

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

./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 \--user=png \--group=png \--with-http_ssl_module \--with-http_realip_module \--with-http_addition_module \--with-http_sub_module \--with-http_dav_module \--with-http_flv_module \--with-http_mp4_module \--with-http_gunzip_module \--with-http_gzip_static_module \--with-http_random_index_module \--with-http_secure_link_module \--with-http_stub_status_module \--with-mail \--with-mail_ssl_module \--with-file-aio \--with-ipv6

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

sudo apt-get -y install \
build-essential \autoconf \libtool \libxml2 \libxml2-dev \openssl \libcurl4-openssl-dev \libbz2-1.0 \libbz2-dev \libjpeg-dev \libpng12-dev \libfreetype6 \libfreetype6-dev \libldap-2.4-2 \libldap2-dev \libmcrypt4 \libmcrypt-dev \libmysqlclient-dev \libxslt1.1 \libxslt1-dev \libxt-dev \libpcre3-dev

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

time make && make install

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信息(注释掉即可):

# 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/bindesc=nginxname=nginxconffile=/etc/nginx/nginx.confdaemon=/usr/sbin/nginxpidfile=/var/run/$name.pidscriptname=/etc/init.d/$name改为path=/sbin:/usr/sbin:/bin:/usr/bindesc=nginxname=nginxconffile=/png/nginx/1.5.7/conf/nginx.confdaemon=/png/nginx/1.5.7/sbin/nginxpidfile=/png/nginx/1.5.7/var/run/$name.pidscriptname=/png/nginx/1.5.7/$name

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

mkdir /png/nginx/1.5.7/var/cache

启动nginx:

sudo /png/nginx/1.5.7/nginx start

测试页面:

curl -i `hostname`

看一下端口:

sudo netstat -antp|grep nginx

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

用top同样能看到类似内容:

top -b -n1|head -n7 && top -b -n1|grep nginx

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

ps aux|head -n1 && ps aux|grep nginx

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

cat /proc/25047/status|grep threads
threads: 1

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

sudo ln -s /png/nginx/1.5.7/nginx /etc/init.d/png-nginxsudo update-rc.d png-nginx defaults #开机自启动 sudo update-rc.d -f png-nginx remove # 以后不想开机自启动可以这样禁止sudo service png-nginx reload #这样就可以用service来管理nginx服务了,比如重载配置

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

以上就是关于"Ubuntu上安装Nginx服务器程序及简单环境配置的方法"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。

编译 服务 配置 内容 内存 官方 环境 程序 用户 方法 服务器 大小 文件 目录 脚本 进程 管理 就是 工人 文章 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州紫鲸互联网科技有限公司 互联网的科技 友谊互联网络科技 互联网科技博客 现代科技和互联网有关系吗 济南华为互联网科技产业总部基地 互联网经济与金融科技 互联网科技商业 互联网与医疗科技 阿里互联网科技企业 高科技互联网套路 互联网第三次科技革命特征 江苏苏星互联网科技有限公司 互联网科技融合创新 半导体行业属于互联网高科技类吗 萌小萌互联网科技河南有限公司 美国五大互联网科技公司市值多少 安徽零酒互联网科技有限公司 优雇互联网科技有限公司 科技美学互联网 艺术 深圳恒合互联网络科技有限公司 苏州大垚互联网科技 中国互联网金融科技基金 华服互联网科技官网 互联网与医疗科技 银川新华互联网科技学校联系电话 西安左小互联网科技有限公司 绵阳真晨互联网科技有限公司 银川新华互联网科技学校招聘 山东亿川互联网科技有限责任公司
0