返回顶部
分享到

在Ubuntu上安装Nginx的实现过程

nginx 来源:互联网 作者:佚名 发布时间:2026-04-04 16:03:51 人浏览
摘要

在Ubuntu系统中从源码安装Nginx可以让您自定义Nginx的编译选项和模块,以满足特定需求。 以下是详细的步骤指南: 前提条件 更新系统包列表 1 2 sudo apt update sudo apt upgrade -y 安装必要的依赖包

在Ubuntu系统中从源码安装Nginx可以让您自定义Nginx的编译选项和模块,以满足特定需求。

以下是详细的步骤指南:

前提条件

更新系统包列表

1

2

sudo apt update

sudo apt upgrade -y

安装必要的依赖包

1

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源码

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

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

1

2

cd /usr/local/src

sudo wget http://nginx.org/download/nginx-1.24.0.tar.gz

解压源码包

1

2

sudo tar -zxvf nginx-1.24.0.tar.gz

cd nginx-1.24.0

步骤二:配置编译选项

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

1

2

3

4

5

6

7

8

9

10

11

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

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

安装Nginx

1

sudo make install

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

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

创建一个专用用户运行Nginx

1

sudo useradd -r -s /sbin/nologin nginx

设置正确的权限

1

sudo chown -R nginx:nginx /usr/local/nginx

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

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

创建Systemd服务文件

1

sudo nano /etc/systemd/system/nginx.service

在文件中添加以下内容

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[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

重新加载Systemd守护进程

1

sudo systemctl daemon-reload

启动Nginx服务

1

sudo systemctl start nginx

设置开机自启动

1

sudo systemctl enable nginx

检查Nginx状态

1

sudo systemctl status nginx

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

步骤六:配置防火墙

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

如果使用UFW防火墙

1

sudo ufw allow 'Nginx Full'

重新加载防火墙规则

1

sudo ufw reload

步骤七:验证安装

访问Nginx默认页面

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

检查Nginx版本

1

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

输出类似于:

1

nginx version: nginx/1.24.0

步骤八:管理Nginx

启动Nginx

1

sudo systemctl start nginx

停止Nginx

1

sudo systemctl stop nginx

重启Nginx

1

sudo systemctl restart nginx

重新加载配置

1

sudo systemctl reload nginx

附加步骤:配置Nginx

Nginx的主配置文件位于 /usr/local/nginx/conf/nginx.conf。

您可以根据需要编辑该文件进行进一步配置。

1

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

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

1

sudo systemctl reload nginx

注意事项

更新Nginx

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

卸载Nginx

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

1

sudo rm -rf /usr/local/nginx/

以及删除Systemd服务文件:

1

2

sudo rm /etc/systemd/system/nginx.service

sudo systemctl daemon-reload

日志管理

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

总结

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


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 查看nginx是否已经启动的实现方式
    在 Ubuntu 或其他 Linux 系统上,要查看 Nginx 是否已经启动,您可以使用以下几种方法之一: 方法一:使用systemctl命令 Nginx 通常作为 systemd 服
  • 在Ubuntu上安装Nginx的实现过程
    在Ubuntu系统中从源码安装Nginx可以让您自定义Nginx的编译选项和模块,以满足特定需求。 以下是详细的步骤指南: 前提条件 更新系统包列表
  • Windows上启动停止Nginx服务器
    在 Windows 上开发 Django、Vue 或其他 Web 项目时,Nginx 往往是我们最常用的反向代理服务器。然而,不同于 Linux 系统上顺手的 systemctl 命令,
  • 使用nginx实现ssh跳板机方式
    基础环境 跳板机,IP:192.168.3.174 控制机01,IP:192.168.2.78 控制机02,IP:192.168.2.79 控制机01、控制机02只允许跳板机访问。 nginx安装 这里使用
  • Nginx缓存清理实现方式
    Nginx 作为一个高效的 Web 服务器和反向代理服务器,在提供快速的页面响应和优化 Web 性能方面起着至关重要的作用。 Nginx 的缓存机制通过存
  • 清空nginx缓存并强制刷新实现过程
    清空nginx缓存并强制刷新 当对nginx的文件进行修改或更新时,可能会出现旧文件被缓存而无法立即生效的问题,此时需要清空nginx的文件缓存
  • Nginx静态资源优化、压缩、缓存介绍

    Nginx静态资源优化、压缩、缓存介绍
    优化 Nginx对静态资源如何进行优化配置。这里从三个属性配置进行优化: 1 2 3 sendfile on; tcp_nopush on; tcp_nodeplay on; send?le 用来开启高效的文件
  • Nginx HTTP反向代理负载均衡实验教程

    Nginx HTTP反向代理负载均衡实验教程
    一、实验目标 在 192.168.65.135 上部署 Nginx,作为七层 HTTP 反向代理。 将www.xiaotiantian.org的流量轮询转发到两台后端 Web: 192.168.65.131:80 192.16
  • windows下安装Nginx的方法

    windows下安装Nginx的方法
    概念 是一个高性能的HTTP和反向代理web服务器。 代理 正向代理 一个客户端与目标服务器之间的代理服务器。 正向代理是代表客户端来进行
  • Nginx报错“Too many open files”的问题解决
    1. 调整系统级文件描述符限制 a. 临时生效(重启后失效): 1 ulimit -n 65535 # 设置当前会话的打开文件数限制 b. 永久生效: 编辑/etc/security
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计