在 Ubuntu 上安装 Nginx 的详细指南

06-01 1190阅读

在Ubuntu系统中从源码安装Nginx可以让您自定义Nginx的编译选项和模块,以满足特定需求。以下是详细的步骤指南:

前提条件

  1. 更新系统包列表

    sudo apt update
    sudo apt upgrade -y
    
  2. 安装必要的依赖包

    sudo apt install -y build-essential libpcre3 libpcre3-dev zlib1g zlib1g-dev libssl-dev wget
    
    • build-essential: 包含编译工具如gcc、make等。
    • libpcre3 & libpcre3-dev: 用于正则表达式支持。
    • zlib1g & zlib1g-dev: 用于压缩功能。
    • libssl-dev: 提供SSL支持。
    • wget: 用于下载源码。

步骤一:下载Nginx源码

  1. 访问Nginx官方主页,获取最新的稳定版本下载链接。

  2. 使用wget下载源码包(以Nginx 1.24.0为例,请根据最新版本替换):

    cd /usr/local/src
    sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz
    
  3. 解压源码包

    sudo tar -zxvf nginx-1.24.0.tar.gz
    cd nginx-1.24.0
    

步骤二:配置编译选项

配置编译选项可以自定义Nginx的功能和模块。以下是一个常用的配置示例:

sudo ./configure 
  --sbin-path=/usr/local/nginx/nginx 
  --conf-path=/usr/local/nginx/conf/nginx.conf 
  --error-log-path=/var/log/nginx/error.log 
  --http-log-path=/var/log/nginx/access.log 
  --with-pcre 
  --with-http_ssl_module 
  --with-http_v2_module 
  --with-http_gzip_static_module 
  --with-stream 
  --with-stream_ssl_module

说明:

  • --sbin-path: 指定Nginx可执行文件的安装路径。
  • --conf-path: 指定Nginx配置文件的位置。
  • --error-log-path & --http-log-path: 指定日志文件的位置。
  • --with-pcre: 启用PCRE支持(正则表达式)。
  • --with-http_ssl_module: 启用SSL模块。
  • --with-http_v2_module: 启用HTTP/2支持。
  • --with-http_gzip_static_module: 启用Gzip静态压缩模块。
  • --with-stream & --with-stream_ssl_module: 启用TCP/UDP流支持及其SSL模块。

    您可以根据需求添加或删除配置选项。运行./configure --help可以查看所有可用的配置选项。

    步骤三:编译和安装

    1. 编译源码

      sudo make
      

      编译过程可能需要几分钟,具体时间取决于系统性能。

    2. 安装Nginx

      sudo make install
      

      默认情况下,Nginx将被安装到之前指定的路径(如 /usr/local/nginx/)。

    步骤四:创建Nginx用户和目录

    1. 创建一个专用用户运行Nginx

      sudo useradd -r -s /sbin/nologin nginx
      
    2. 设置正确的权限

      在 Ubuntu 上安装 Nginx 的详细指南
      (图片来源网络,侵删)
      sudo chown -R nginx:nginx /usr/local/nginx
      

    步骤五:配置Nginx为系统服务

    为了方便管理Nginx,建议将其配置为systemd服务。

    1. 创建Systemd服务文件

      在 Ubuntu 上安装 Nginx 的详细指南
      (图片来源网络,侵删)
      sudo nano /etc/systemd/system/nginx.service
      
    2. 在文件中添加以下内容

      [Unit]
      Description=The NGINX HTTP and reverse proxy server
      After=network.target
      [Service]
      Type=forking
      PIDFile=/usr/local/nginx/logs/nginx.pid
      ExecStartPre=/usr/local/nginx/sbin/nginx -t
      ExecStart=/usr/local/nginx/sbin/nginx
      ExecReload=/usr/local/nginx/sbin/nginx -s reload
      ExecStop=/usr/local/nginx/sbin/nginx -s quit
      User=nginx
      Group=nginx
      [Install]
      WantedBy=multi-user.target
      
    3. 重新加载Systemd守护进程

      sudo systemctl daemon-reload
      
    4. 启动Nginx服务

      sudo systemctl start nginx
      
    5. 设置开机自启动

      sudo systemctl enable nginx
      
    6. 检查Nginx状态

      sudo systemctl status nginx
      

      您应该看到Nginx正在运行的状态。

    步骤六:配置防火墙

    确保防火墙允许HTTP和HTTPS流量。

    1. 如果使用UFW防火墙

      sudo ufw allow 'Nginx Full'
      
    2. 重新加载防火墙规则

      sudo ufw reload
      

    步骤七:验证安装

    1. 访问Nginx默认页面

      打开浏览器,访问服务器的IP地址(例如 http://your_server_ip/),您应该看到Nginx的默认欢迎页面。

    2. 检查Nginx版本

      /usr/local/nginx/sbin/nginx -v
      

      输出类似于:

      nginx version: nginx/1.24.0
      

    步骤八:管理Nginx

    • 启动Nginx

      sudo systemctl start nginx
      
    • 停止Nginx

      sudo systemctl stop nginx
      
    • 重启Nginx

      sudo systemctl restart nginx
      
    • 重新加载配置

      sudo systemctl reload nginx
      

      附加步骤:配置Nginx

      Nginx的主配置文件位于 /usr/local/nginx/conf/nginx.conf。您可以根据需要编辑该文件进行进一步配置。

      sudo nano /usr/local/nginx/conf/nginx.conf
      

      编辑完成后,重新加载Nginx以应用更改:

      sudo systemctl reload nginx
      

      注意事项

      1. 更新Nginx

        由于是源码安装,Nginx不会自动更新。要更新Nginx,需要手动下载新版本源码,编译并安装,或使用包管理工具。

      2. 卸载Nginx

        源码安装的Nginx通常位于 /usr/local/nginx/。要卸载,只需删除该目录:

        sudo rm -rf /usr/local/nginx/
        

        以及删除Systemd服务文件:

        sudo rm /etc/systemd/system/nginx.service
        sudo systemctl daemon-reload
        
      3. 日志管理

        确保定期轮转Nginx日志以防止日志文件过大。可以使用 logrotate 工具进行配置。

      总结

      通过以上步骤,您已经成功在Ubuntu系统中从源码编译并安装了Nginx。源码安装提供了更高的灵活性,使您能够根据具体需求自定义Nginx的功能。请确保在生产环境中仔细测试配置,并定期维护Nginx以保持系统安全和稳定。

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们。

目录[+]

取消
微信二维码
微信二维码
支付宝二维码