在Ubuntu 16.04上,设置Express.js Web服务器

・5 分钟阅读

在本教程中,我们会在运行Ubuntu 16.04的VPS上使用Node.js(一个基于Chrome的V8引擎的Javascript运行时)安装一个基本的Express.js Web服务器。它真正展示了Node.js在Web开发方面可以做些什么。所以不用多说,让我们开始吧!

安装Node.js

首先,首先需要安装node.js,它会是我们的Express站点的后端,我们首先需要为最新版本添加存储库,以便在Ubuntu 16.04上安装它,要执行这个操作,请键入以下内容:

curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

这样做,它是从nodesource.com抓取最新的8.x包,并将它设置为APT存储库。完成后,运行以下命令安装node :

sudo apt-get install -y nodejs build-essential

这是在安装Node.js本身,它获取build-essential,这是编译模块时可能需要的一些工具,完成后,我们会创建一个新的node项目,首先,确保你位于/home目录中。

/home/yourname

要检查,只需在终端中键入pwd,如果你看到/home/yourname,那么你就可以在!然后我们将使用npm特性的init来创建一个package.json,其中所有模块都将被跟踪,为此,请在终端中键入npm init ,遵循所有提示,完成后你将看到:


{
"name":"example",
"version":"1.0.0",
"description":"",
"main":"index.js",
"scripts": {
"test":"echo"Error: no test specified" && exit 1"
 },
"author":"rich",
"license":"MIT"
}

然后,敲击enter确认。

安装Express

接下来,我们会安装我们的Express模块,若要执行这个操作,只需键入:

npm install express

等它完成安装。

我们会使用一个叫做express-generator的小模块来简化过程,它会做什么,它将为我们生成一个骨架网站,使一切更容易。它负责基本的东西,比如route等。要安装Express生成器,只需键入:

npm install express-generator -g

指定-g标志,表示它会是全局的,我们可以在整个系统中使用它,一旦完成安装我们就得做出决定,我们必须选择要用于我们的项目的渲染引擎,简单来说,我们会在本教程中使用ejs,这是一个很棒的渲染引擎,我强烈推荐给你,要设置我们的裸项目,只需键入:

express -v ejs mysite

这会在我们现有项目中创建一个新文件夹,名称为mysite ,现在,为了确保我们拥有项目所需的所有模块,运行以下命令。

npm install

现在我们已经有了基本的网站设置,我们可以开始!要启动网站,使用基本端口,只需键入:

DEBUG=mysite:* npm start

网站将开始,唯一的问题是,你将无法看到网站,因为你正在使用终端,为了查看例子页面,我们必须指定HTTP服务器的IP地址,这将是我们的VPS的IP地址,要获得你的IP地址,只需转到你的VPS面板,然后点击服务器标签,例如:"1024 MB Server - yourIP "。然后,回到服务器,将你的目录更改为bin文件夹。

cd mysite/bin

假设你在主目录中创建了文件夹,在内部编辑文件:www文件。 要做到这一点,我们会使用theitoritor,Nano。

nano www

在内部,导航到此行:

server.listen(port);

将你的IP地址添加到该行,编辑它以便它看起来像这样:

server.listen(port, 'your ip here');

然后,在键盘上按"control-o"键,然后按"回车"键保存,按"control-x"退出,现在,我们全部设置为启动服务器,简单地键入前面键入的命令来测试它:

DEBUG=mysite:* npm start

控制台现在将输出正在监听的端口,跟踪这个端口,因为你需要它。要查看站点,请打开网页浏览器,并且导航到以下URL 。

http://yourIP:port

例如它可能类似于:

http://192.0.2.0:3000

如果一切顺利,你会在屏幕上看到"Welcome to Express "!

你已经完成了你已经用node.js创建了第一个Express站点,运行了一个VPS,

Yanyan profile image