📜  如何在远程服务器(基于 Ubuntu)上使用 Nginx 部署 Web 应用程序 – 第 2 组

📅  最后修改于: 2022-05-13 01:56:20.969000             🧑  作者: Mango

如何在远程服务器(基于 Ubuntu)上使用 Nginx 部署 Web 应用程序 – 第 2 组

在上一篇文章中,我们了解了 Nginx 以及如何利用它的优势,进一步将它安装在我们的设备或远程服务器上。在本文中,我们将了解如何使用 Nginx 部署存储在远程服务器中的 Web 应用程序。

我们需要按照给定的步骤来使用 Nginx 部署 Web 应用程序。

第 1 步:打开终端,然后使用cd命令更改存储 Web 应用程序的目录。

# Example: Suppose test is a web application 
# folder stored in downloads, I'll open terminal 
# in home screen 
cd  ../Downloads/test/

# Check the contents once here
ls

第 2 步:在您的发行版中安装 Curl、OpenSSH-server 和 vim 编辑器,以便使用以下命令进行设置。但在此之前,我将解释它们是什么以及为什么需要使用它们。

Curl:用于从 Web 服务器传输数据的 CLI 工具。

OpenSSH-server: OpenSSH-server 是一组用于远程控制和在远程联网计算机之间传输数据的工具。

Vim-editor:它是一个编辑器,用于在 ubuntu 中创建和修改文本文件。

# Commands to install all the above-required libraries in terminal 
sudo apt-get install curl
sudo apt-get install openssh-server
sudo apt-get install vim

现在我们已经完成了先决条件部分。

第 3 步:现在在这一步中,我们将把我们的 Web 应用程序文件夹复制到这个绝对路径/var/www

# change directory to parent folder where 
# you have stored the web application folder
sudo cp -r test /var/www

第 4 步:现在我们将域名指向我们将托管此应用程序的服务器。即,我们需要将您服务器的 IP 地址添加到 DNS 设置中。假设你的服务器IP地址是0.0.0.0,域名是www.test.com,那么你的域名应该指向你的服务器IP地址。

为此,我们还需要在服务器中进行一些设置,我们需要创建一个文件,我们将使用 vim

首先,将您的目录更改为 var/www/ 然后使用 vim 命令:

# Change your directory 
cd var/www

# Vim command for new file
sudo vi /etc/hosts

现在您将看到一个具有类似内容的文件,如图所示

您需要在此处添加您的 IP 地址,并在其后添加您的域名,您可以使用下图作为参考。

第 5 步:在远程服务器上,我们需要将 Web 应用程序文件夹添加到该服务器。为此,我们需要更改 Web 应用程序文件夹的权限。 (您的 Web 应用程序的文件夹名称可能不同)

# Change directory to /var/www/test
cd /var/www/test

# Change permission for your folder
sudo chmod -R 777 *

# Secure copy your files to web server
# (Your IP address of server will be different)
# (eg: scp -r * root@x.x.x.x:var/www/FOLDER_NAME)
scp -r * 0.0.0.0:/var/www/test

所以我们的文件已经安全地复制到服务器上。

第 6 步:所以现在,我们将配置 Nginx 服务器来服务我们的网站,让我们首先查看 Nginx 文件夹

# Change directory 
cd /etc/nginx

# See Contents of it 
ls

在这里,我们应该对 2 个目录感兴趣,sites-available 和 sites-enabled。

站点可用:它包含所有静态文件可能的所有单独配置文件。

sites-enabled:它包含 Nginx 将读取和运行的配置文件的链接。

所以我们需要在 sites-available 中创建一个配置文件,并在 sites-enabled 中为 Nginx 创建一个符号链接。

首先,我们将创建一个新文件并向其中添加以下内容。

# Command to create and open a new file 
sudo vim sites-available/test

# Now add the following contents to it
server {
listen 80 default_server;
listen [::] default_server;
root /var/www/test;
index index.html;
location / {
try_files $url $url/ =404;
}
}

在这里,我们为 default_server 打开了套接字 80 和您的应用程序端口,我们已经告诉 nginx 我们的 Web 应用程序文件在哪里。我们的索引页面的位置,如果你得到一些错误的 URL,然后通过 404 错误。

第 7 步:现在让我们将此文件添加到 Nginx 中启用站点的文件夹中

# Command to add file to sites-enabled folder
sudo ln -s /etc/nginx/sites-available/test /etc/nginx/sites-enabled/test

惊人的!现在我们有一个主要问题,因为之前我们运行了 Nginx 服务器,并且我们配置为在我们的 Web 应用程序中打开端口 80,并且 Nginx 也在尝试使用端口 80 打开其默认页面。因此我们需要移动该默认文件到其他地方以避免冲突。

# I generally move it to home directory 
sudo mv /etc/nginx/sites-enabled/default /home/yashtewatia/default

# Restart Nginx service
sudo systemctl restart nginx

所以我们重启了我们的nginx服务器!现在您可以转到您的 IP 地址在浏览器中查看内容,也可以在终端中使用 curl 命令,例如,

curl www.test.com
# or we can give the IP address here of our server
curl 0.0.0.0

因此,我们使用 Nginx Server 部署了我们的 Web 文件。