返回

KOA2、PM2和Nginx强强联手,部署你的HTTPS网站

前端

前言

最近在重新编写我的博客,之前是使用Hexo生成的博客,并运行在Git Page上。这次我选择使用Koa2这个框架。今天先来写一下关于Koa2网站运行部署以及HTTPS配置的内容。

环境准备

在开始部署之前,我们需要准备以下环境:

  • 一台Ubuntu 18.04服务器
  • 一个域名(我使用的是example.com)
  • 一个SSL证书(我使用的是Let's Encrypt)
  • 一个文本编辑器(我使用的是Vim)
  • 一个终端模拟器(我使用的是Terminator)

部署Koa2应用程序

首先,我们需要安装Koa2和PM2。您可以使用以下命令安装它们:

npm install koa pm2 -g

安装完成后,创建一个新的Koa2应用程序。您可以使用以下命令创建一个新的应用程序:

koa2-generator .

这将创建一个名为“my-koa2-app”的新目录。进入这个目录,然后使用以下命令运行您的应用程序:

npm start

您的应用程序现在应该在端口3000上运行。

使用PM2管理Koa2应用程序

PM2是一个进程管理器,可以帮助您管理和监控您的Koa2应用程序。您可以使用以下命令安装PM2:

npm install pm2 -g

安装完成后,您可以使用以下命令启动您的Koa2应用程序:

pm2 start npm --name my-koa2-app -- start

这将使用名称“my-koa2-app”启动您的应用程序。您现在可以使用以下命令查看您的应用程序的状态:

pm2 status

您还可以使用以下命令停止您的应用程序:

pm2 stop my-koa2-app

使用Nginx反向代理Koa2应用程序

Nginx是一个Web服务器,可以为您的Koa2应用程序提供高性能的反向代理服务。您可以使用以下命令安装Nginx:

sudo apt-get install nginx

安装完成后,我们需要创建一个新的Nginx配置文件。您可以使用以下命令创建一个新的配置文件:

sudo nano /etc/nginx/sites-available/my-koa2-app.conf

在打开的文件中,添加以下内容:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:3000;
    }
}

将“example.com”替换为您自己的域名。保存并关闭文件。

现在,我们需要启用这个新的配置文件。您可以使用以下命令启用它:

sudo ln -s /etc/nginx/sites-available/my-koa2-app.conf /etc/nginx/sites-enabled/

最后,我们需要重新启动Nginx。您可以使用以下命令重新启动它:

sudo service nginx restart

您的Koa2应用程序现在应该可以通过您的域名访问了。

配置HTTPS

为了使您的网站更加安全,我们需要配置HTTPS。您可以使用以下命令获取免费的SSL证书:

sudo certbot --nginx

这将为您的网站生成一个新的SSL证书。安装完成后,我们需要修改Nginx配置文件以启用HTTPS。您可以使用以下命令修改配置文件:

sudo nano /etc/nginx/sites-available/my-koa2-app.conf

在打开的文件中,将以下内容添加到“server”块中:

listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;

将“example.com”替换为您自己的域名。保存并关闭文件。

现在,我们需要重新启动Nginx。您可以使用以下命令重新启动它:

sudo service nginx restart

您的网站现在应该可以通过HTTPS访问了。

结语

在本教程中,我们介绍了如何使用PM2和Nginx部署Koa2应用程序,并启用HTTPS支持。希望本文对您有所帮助。如果您有任何问题,请随时留言。