当前位置:

首页 > 编程开发 > Ubuntu上安装Nginx服务器程序及简单环境配置的方法

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

ubuntu从官方源安装nginxcd~wgethttp://nginx.org/keys/nginx_signing.keysudoapt-keyaddnginx_signing.keysudonano/etc/apt/sources.list#添加以下两句debhttp://nginx.org/packages/ubuntu/precisenginxdeb-srchttp://nginx.org/packages/ubuntu/precisenginxsudoapt-getupdatesudoapt-

本文目录

    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.gz
    tar xzf nginx-1.5.7.tar.gz
    cd nginx-1.5.7

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

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

    sudo mkdir /png
    sudo chown eechen:eechen /png

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

    sudo addgroup png --system
    sudo 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/bin
    desc=nginx
    name=nginx
    conffile=/etc/nginx/nginx.conf
    daemon=/usr/sbin/nginx
    pidfile=/var/run/$name.pid
    scriptname=/etc/init.d/$name
    改为
    path=/sbin:/usr/sbin:/bin:/usr/bin
    desc=nginx
    name=nginx
    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/nginx start

    测试页面:

    curl -i `hostname`

    看一下端口:

    sudo netstat -antp|grep nginx

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

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

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

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

    Ubuntu上安装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-nginx
    sudo 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,自己按需配置.

    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    编程开发 Ubuntu nginx
    相关文章 更多
    thinkphp项目部署指南详解服务器部署步骤
    thinkphp项目部署指南详解服务器部署步骤

    详细解析ThinkPHP项目在Linux服务器上的部署步骤,包括环境搭建、文件权限、Nginx配置及常见陷阱,提供可复制的代码示例与例外场景分析。

    Ubuntu命令行入门:打开终端并验证文件目录操作
    Ubuntu命令行入门:打开终端并验证文件目录操作

    本教程指导Ubuntu新手打开终端,通过pwd、ls、cd、mkdir和touch命令完成基础文件目录操作。适用于桌面版、虚拟机及WSL环境,提供从查看路径到创建测试文件的完整验证步骤,帮助读者建立命令行操作的安全意识与正确习惯。

    Nginx Windows版安装、启动与验证完整指南
    Nginx Windows版安装、启动与验证完整指南

    本教程针对Windows环境,详解Nginx稳定版(如1.24.0)的下载、解压、启动及验证流程。核心步骤包括:下载官方压缩包至英文目录,使用start nginx启动,通过localhost访问默认页面,并利用tasklist和nginx -t命令确认进程状态及配置语法。涵盖端口冲突排查、配置重载及停止服务的标准操作,适用于本地开发环境搭建与基础运维验证。

    在VMware中安装Ubuntu并验证启动的完整步骤
    在VMware中安装Ubuntu并验证启动的完整步骤

    本文提供在VMware中安装Ubuntu并验证启动的完整流程。适用于首次练习Linux或搭建开发环境的用户。按步骤完成虚拟机创建、ISO挂载、硬件分配与安装后,可通过终端命令确认版本、内核与网络状态,确保系统可正常使用。

    Ubuntu 26.04 将显著提升英伟达图形显卡在 Wayland 环境下的性能
    Ubuntu 26.04 将显著提升英伟达图形显卡在 Wayland 环境下的性能

    Ubuntu26.04LTS针对英伟达显卡在Wayland+GNOME环境进行性能调优,通过修改gbm_surface_lock_front_buffer函数,将帧渲染等待时间从毫秒级降至微秒级,显著提升UI响应和画面流畅度。该补丁已作为发行版专属补丁集成,确保LTS用户无需等待上游整合即可获得优化体验。

    Ubuntu Touch 24.04-2.0 Beta 发布:适配索尼 Xperia X 等手机 提升上网体验
    Ubuntu Touch 24.04-2.0 Beta 发布:适配索尼 Xperia X 等手机 提升上网体验

    UbuntuTouch24.04-2.0Beta发布,底层升级至Ubuntu24.04,浏览器引擎从Chromium87跃升至134,网页兼容性显著提升;新增屏幕刘海区域自动适配、截图编辑器、网络指示器改进、移动数据可靠性增强、数据加密稳定,并新增NothingPhone(1)等设备支持。

    Ubuntu如何查看系统防火墙规则
    Ubuntu如何查看系统防火墙规则

    ufw status仅显示高层策略和显式添加的规则(如“80 ALLOW Anywhere”),不反映默认策略绕过、IPv6独立规则、Docker等直写nftables的bypass规则,也无法体现本地回环流量不受管控等底层细节。Ubuntu 默认用 ufw 管理防火墙,但规则实际由 nftable

    Ubuntu如何更换锁屏背景图片
    Ubuntu如何更换锁屏背景图片

    锁屏背景和桌面壁纸之所以不同,是因为GNOME默认会复制桌面壁纸,然后强制叠加高斯模糊和亮度调整效果,这个效果是由lockDialogGroup的CSS来控制的。要是想去除模糊,建议使用Control Blur Effect On Lock Screen扩展,把Adjust Sigma设置为0就行。

    UbuntuSwapper在服务器上应用效果如何
    UbuntuSwapper在服务器上应用效果如何

    Ubuntu Swapper(一般就是指Ubuntu的交换分区或者交换文件)在服务器上的应用成效,是由多个因素共同决定的,像服务器的硬件配置情况、工作负载的类型以及交换空间的大小和具体配置等。下面为大家带来一些有关Ubuntu Swapper在服务器上应用效果的一般性评价:正面效果内存管理:交换空间

    Ubuntu如何配置命令行模式下的中文支持
    Ubuntu如何配置命令行模式下的中文支持

    根本原因是纯命令行tty默认不支持UTF-8及中文字体渲染,locale设置仅影响字符解析逻辑,不解决字体绘制问题;图形终端自带UTF-8渲染,而tty需借助fbterm等工具实现中文显示。为什么终端里中文显示为问号或方块 纯命令行(tty,例如通过Ctrl+Alt+F3进入的界面)默认不会加载UT

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。