如何在 Ubuntu 18.04 上安装 Nginx [快速入门]如何在 Ubuntu 18.04 上安装 Nginx [快速入门]如何在 Ubuntu 18.04 上安装 Nginx [快速入门]如何在 Ubuntu 18.04 上安装 Nginx [快速入门]
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 18.04 上安装 Nginx [快速入门]

介绍

Nginx 是世界上最流行的网络服务器之一,负责托管互联网上一些最大和最高流量的网站。在大多数情况下,它比 Apache 对资源更友好,可以用作 Web 服务器或反向代理。

在本指南中,我们将解释如何在 Ubuntu 18.04 服务器上安装 Nginx。本教程更详细的版本请参考How To Install Nginx on Ubuntu 18.04。

先决条件

在开始本指南之前,您应该具备以下条件:

  • 一台 Ubuntu 18.04 服务器和一个具有 sudo 权限的普通非根用户。此外,您将需要启用基本防火墙以阻止非必要端口。您可以按照我们的 Ubuntu 18.04 初始服务器设置指南了解如何配置普通用户帐户和设置防火墙。

当您有一个可用帐户时,请以您的非根用户身份登录以开始。

第 1 步 – 安装 Nginx

因为 Nginx 在 Ubuntu 的默认存储库中可用,所以您可以使用 apt 打包系统安装它。

更新本地包索引:

  1. sudo apt update

安装 Nginx:

  1. sudo apt install nginx

第 2 步 – 调整防火墙

如果您遵循了先决条件服务器设置教程,那么您已经启用了 UFW 防火墙。使用以下命令检查可用的 ufw 应用程序配置文件:

  1. sudo ufw app list
Output
Available applications: Nginx Full Nginx HTTP Nginx HTTPS OpenSSH

让我们启用最严格的配置文件,它仍然允许您配置的流量,允许端口 80 上的流量:

  1. sudo ufw allow 'Nginx HTTP'

验证更改:

  1. sudo ufw status
Output
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere Nginx HTTP ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) Nginx HTTP (v6) ALLOW Anywhere (v6)

第 3 步 – 检查您的 Web 服务器

通过键入以下内容检查 systemd init 系统以确保服务正在运行:

  1. systemctl status nginx
Output
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

通过您的IP地址访问默认的Nginx登陆页面,确认软件是否正常运行:

http://your_server_ip

您应该会看到默认的 Nginx 登录页面:

第 4 步 – 设置服务器块(推荐)

使用 Nginx 网络服务器时,您可以使用服务器块(类似于 Apache 中的虚拟主机)来封装配置详细信息,并从一台服务器托管多个域。我们将设置一个名为 Introduction to DigitalOcean DNS 的域。

为 example.com 创建目录,使用 -p 标志创建任何必要的父目录:

  1. sudo mkdir -p /var/www/example.com/html

分配目录的所有权:

  1. sudo chown -R $USER:$USER /var/www/example.com/html

如果您没有修改您的 umask 值,您的 web roots 的权限应该是正确的,但您可以通过键入以下内容来确保:

  1. sudo chmod -R 755 /var/www/example.com

使用 nano 或您喜欢的编辑器创建示例 index.html 页面:

  1. nano /var/www/example.com/html/index.html

在内部,添加以下示例 HTML:

<html>
    <head>
        <title>Welcome to Example.com!</title>
    </head>
    <body>
        <h1>Success!  The example.com server block is working!</h1>
    </body>
</html>

完成后保存并关闭文件。

在 /etc/nginx/sites-available/example.com 创建一个新的服务器块:

  1. sudo nano /etc/nginx/sites-available/example.com

粘贴以下配置块,为我们的新目录和域名更新:

server {
        listen 80;
        listen [::]:80;

        root /var/www/example.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name example.com www.example.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

完成后保存并关闭文件。

通过创建从文件到 sites-enabled 目录的链接来启用该文件:

  1. sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

现在启用并配置了两个服务器块,以响应基于它们的 listen 和 server_name 指令的请求:

  • example.com:将响应对 example.com 和 www.example.com 的请求。
  • default:将响应端口 80 上与其他两个块不匹配的任何请求。

为避免因添加额外的服务器名称而可能出现的哈希桶内存问题,有必要调整 /etc/nginx/nginx.conf 文件中的单个值。打开文件:

  1. sudo nano /etc/nginx/nginx.conf

找到 server_names_hash_bucket_size 指令并删除 # 符号以取消注释该行:

...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

测试语法错误:

  1. sudo nginx -t

重新启动 Nginx 以启用您的更改:

  1. sudo systemctl restart nginx

Nginx 现在应该为您的域名提供服务。您可以通过导航到 http://example.com 来测试它,您应该会在其中看到如下内容:

结论

现在您已经安装了 Web 服务器,对于要提供的内容类型以及要用于创建更丰富体验的技术,您有很多选择。

如果您想构建更完整的应用程序堆栈,请查看这篇关于如何在 Ubuntu 18.04 上配置 LEMP 堆栈的文章。

©2015-2025 艾丽卡 support@alaica.com