如何在远程服务器(基于 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 文件。