如何在 Ubuntu 上安装和使用 Nginx?

简介: ginx(发音为“engine-x”)是一种流行的 Web 服务器软件,以其高性能和可靠性而闻名。它是许多流行网站使用的开源软件,包括 Netflix、GitHub 和 WordPress。Nginx 可以用作 Web 服务器、负载均衡器、反向代理和 HTTP 缓存等。

ginx(发音为“engine-x”)是一种流行的 Web 服务器软件,以其高性能和可靠性而闻名。它是许多流行网站使用的开源软件,包括 Netflix、GitHub 和 WordPress。Nginx 可以用作 Web 服务器、负载均衡器、反向代理和 HTTP 缓存等。

它以其高性能、稳定性和可扩展性而闻名。对于托管需要快速可靠的网络托管的网站、应用程序和服务来说,它是一个绝佳的选择。按照本指南,您可以在 Ubuntu 计算机上安装和设置 Nginx 并提供网页服务。

一、在 Ubuntu 上安装 Nginx

1、前提条件

在 Ubuntu 上安装 Nginx 之前,您需要满足一些先决条件:
①、安装Ubuntu系统的服务器
推荐阿里云这样厂商的服务器,比较稳定。

阿里云服务器:https://iil.ink/aliecs
②、服务器的 root 用户身份登录或使用命令来实现sudo。

按照以下步骤在 Ubuntu 系统上安装 Apache。

步骤 1. 更新 Ubuntu

始终建议在安装任何新软件之前将 Ubuntu 服务器更新到最新版本。您可以通过在终端中运行以下命令来完成此操作:

sudo apt-get update
sudo apt-get upgrade

步骤 2. 配置其他现有 Web 服务器

如果您的 Ubuntu 服务器上安装了其他 Web 服务器(例如 Apache),请在安装 Nginx 之前卸载它们。这将避免任何冲突或端口绑定问题。

sudo apt-get remove apache2

或者,如果您想与 Apache 一起运行 Nginx,您可以选择使用 Nginx 作为 Apache 的反向代理。此配置允许 Nginx 处理传入请求并将其转发给 Apache 进行处理。此设置可以提供两个 Web 服务器的优点。

步骤3.安装Nginx

Nginx 在 Ubuntu 存储库中可用。因此,您不需要添加任何其他第三方存储库。相反,在终端上执行以下命令来安装 Nginx。

sudo apt install nginx

image.png

步骤 4. 启动 Nginx:

安装后,Nginx 应该会自动启动。但是,如果安装后未启动该服务,您可以运行以下命令来启动该服务。

sudo systemctl start nginx

步骤5.检查Nginx状态:

您可以使用以下命令检查 Nginx 的状态:

sudo systemctl status nginx

该命令将显示 Nginx 的当前状态。
image.png
从上图中,您可以看到Nginx服务在我们的系统上成功运行。

提示:如果启动 Nginx 服务时出现错误,很有可能是 80 端口已被使用。Nginx 默认使用端口 80 进行 HTTP 流量。如果另一个服务已经使用了80端口,Nginx将无法启动。要检查80端口是否被使用,可以运行以下命令:

sudo lsof -i :80

如果另一个服务使用端口 80,您可以停止该服务或将 Nginx 配置为使用其他端口。

步骤 6. 配置防火墙

如果您已在系统上启用 UFW 防火墙,请确保对其进行适当配置,以允许 Nginx 使用的端口上的传入流量。Nginx 使用的默认端口是 HTTP 的 80 和 HTTPS 的 443。您可以运行以下命令来允许 Nginx 的流量。

sudo ufw allow 'Nginx HTTP'
sudo ufw allow 'Nginx HTTPS'

image.png

步骤 7. 测试 Nginx

要测试 Nginx 是否正常工作,请打开 Web 浏览器并在地址栏中输入 Ubuntu 服务器的 IP 地址。您可以通过运行以下任意命令来获取系统的 IP 地址。

ifconfig

Or,

ip a s

如果 Nginx 安装正确,您应该会看到默认的 Nginx 欢迎页面。

image.png

二、创建您自己的网站

当您在浏览器中输入系统的 IP 地址时看到的网站是默认的 Nginx 网站,位于该/var/www/html目录中。如果您想托管静态 HTML 站点,您可以删除目录中的文件 /var/www/html并添加自定义文件。

但是,如果要托管多个网站,则必须配置虚拟主机。虚拟主机配置允许您在单个服务器上运行多个网站或 Web 应用程序。每个虚拟主机都有自己的一组配置文件,允许您独立自定义每个网站的行为。

请按照以下步骤操作。

步骤 1. 为您的网站创建一个目录

使用该mkdir命令在 /var/www 文件夹中为您的网站文件创建一个目录。例如,我们将创建一个名为 test-website 的目录。

sudo mkdir /var/www/test-website

image.png

步骤 2. 为您的网站创建一个新的 HTML 文件:

现在,您需要将网站文件添加到此目录。对于本文,我们将创建一个名为“index.html”的简单 HTML 文件。但是,如果您使用的是 WordPress 或任何其他工具,则可以将文件提取到这个新目录。

sudo nano index.html

向文件中添加一些基本的 HTML 代码,例如:

<html>
    <head>
        <title>How to Install and Use Nginx on Ubuntu (fosslinux.com)</title>
    </head>
<body bgcolor="skyblue">
    <h1>How to Install and Use Nginx on Ubuntu (fosslinux.com)</h1>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed et dolor quis ex posuere euismod. Sed pharetra vel odio in venenatis. Donec eget eros vel nisi varius rutrum. Aliquam efficitur lacus at purus dictum lobortis. Duis ut diam dignissim, dapibus turpis vel, consectetur orci. Aliquam erat volutpat. Nulla facilisi. Praesent ut sapien sapien.
</p>
<img src="https://www.fosslinux.com/wp-content/uploads/2021/02/nginx-logo.png" alt="Nginx Logo">
</body>
</html>

保存(Ctrl + O,然后 Enter)并关闭文件(Ctrl + X)。

步骤 3. 为虚拟主机创建新的 Nginx 配置文件

下一步是为您的新网站创建配置文件。对于这篇文章,我们将其称为“test-website.conf”。启动终端并执行以下命令。

sudo nano /etc/nginx/sites-available/test-website.conf

在文件中添加以下配置:

server {
   
    listen 80;
    listen [::]:80;
    root /var/www/test_website;
    index index.html;

    server_name test-website.com www.test-website.com;

   location / {
   
      try_files {
   mathJaxContainer[0]}uri/ =404;
  }
}

此配置告诉 Nginx 侦听端口 80 并提供 /var/www/test-website 目录中的文件。它还将默认索引文件设置为index.html,并指定虚拟主机的域名。

image.png

保存(Ctrl + O,然后 Enter)并关闭文件(Ctrl + X)。

步骤 4. 启用虚拟主机

接下来,您需要创建一个符号链接来启用虚拟主机:

sudo ln -s /etc/nginx/sites-available/test-website.conf /etc/nginx/sites-enabled/

接下来,您需要运行测试来确认您的配置和语法是否正确。执行下面的命令。

sudo nginx -t

如果配置没问题,您可以继续重新启动 Nginx 以应用更改:

sudo systemctl restart nginx

image.png

恭喜,您已经创建了自己的网站并使用 Nginx 设置了虚拟主机。您现在可以通过在网络浏览器中输入您的域名或 IP 地址来访问您的网站。

步骤 5:测试您的网站

您可以通过在浏览器中输入 IP 地址来继续测试您的网站。

image.png

如果您使用了不同的端口号(例如 81),请在 IP 地址中指定它,如下所示。

192.168.1.27:81

Nginx 与 Apache对比

Nginx 和 Apache 是世界上最流行的两种 Web 服务器。虽然两者都有相同的目的,但一些关键的差异使它们有所不同。

性能

Nginx 以其高性能和低资源消耗而闻名。它旨在以低内存使用量处理许多并发连接。另一方面,Apache 可能是资源密集型的,并且可能需要更多的内存来处理相同的流量。

灵活性

Apache 是比 Nginx 更灵活的 Web 服务器。它支持许多模块,并且可以轻松定制以满足特定需求。另一方面,Nginx 的模块集更加有限,并且在定制方面不太灵活。

实用性

Nginx 通常被认为比 Apache 更容易配置和使用。其配置文件更加简单直观,可以快速轻松地进行设置。然而,Apache 的设置和配置可能更加复杂,尤其是对于初学者而言。

提示:Nginx 和 Apache 都有各自的优点和缺点。两者之间的选择取决于所服务的网站或应用程序的具体需求。

原文来自我的博客:如何在 Ubuntu 上安装和使用 Nginx?

目录
相关文章
|
2月前
|
Ubuntu Shell 网络安全
安装了ubuntu虚拟机后发现shell无法连接 ubuntu开启ssh连接
【8月更文挑战第23天】安装了ubuntu虚拟机后发现shell无法连接
116 6
|
2天前
|
存储 Ubuntu
关于实体机安装Ubuntu 22.04.3-desktop-amd64遇见的一些问题
【10月更文挑战第2天】本文详细介绍了在使用 Ubuntu 过程中常见的五个问题及其解决方案:下载镜像文件速度慢或损坏,可更换镜像源或验证哈希值;制作启动盘失败,需检查 U 盘及设置;安装过程中的分区问题,需合理规划分区;安装后的驱动问题,可通过安装官方驱动解决;软件安装和更新问题,需检查仓库配置及依赖关系。
|
1月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
1月前
|
Ubuntu Linux Docker
Ubuntu 18.04 安装Docker实战案例
关于如何在Ubuntu 18.04系统上安装Docker的实战案例,包括安装步骤、配置镜像加速以及下载和运行Docker镜像的过程。
159 3
Ubuntu 18.04 安装Docker实战案例
|
1月前
|
Ubuntu 网络安全 开发工具
Ubuntu19.04的安装过程详解以及操作系统初始化配置
本文详细介绍了Ubuntu 19.04操作系统的安装过程、初始化配置、网络设置、软件源配置、SSH远程登录以及终端显示设置。
61 1
Ubuntu19.04的安装过程详解以及操作系统初始化配置
|
18天前
|
存储 Prometheus 监控
在Ubuntu系统上安装与配置Prometheus的步骤
通过以上步骤,您应该已经成功在Ubuntu系统上安装并配置了Prometheus。您现在可以开始使用Prometheus收集和分析您的系统和应用程序的指标数据了。
37 1
|
1月前
|
Ubuntu NoSQL
ubuntu上安装某个程序的符号表和源码包
ubuntu上安装某个程序的符号表和源码包
|
1月前
|
Ubuntu
在树莓派4B上安装ubuntu系统
在树莓派4B上安装ubuntu系统
|
1月前
|
Ubuntu
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
使用dpkg在ubuntu上安装软件包遇到依赖包的问题
|
2月前
|
Ubuntu Shell C++
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
在Ubuntu18.04上安装ros2的环境,ros2的常用命令:播放包、录制包等
42 1

热门文章

最新文章

下一篇
无影云桌面