最近因为学校的UML大作业,我用express写了个web应用,并部署到了服务器。
参考了百度上的资料,下面总结了一下自己部署的步骤。
安装node
wget https://npm.taobao.org/mirrors/node/v8.9.3/node-v8.9.3-linux-x64.tar.xz
xz -d node-v8.9.3-linux-x64.tar.xz
tar -xvf node-v8.9.3-linux-x64.tar
ln -s /root/node-v8.9.3-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v8.9.3-linux-x64/bin/npm /usr/local/bin/npm
(提示:最后两步需要在根目录执行)
- 输入命令:
node -v
出现版本号即安装成功
npm -v
出现版本号即安装成功
上传本地文件到服务器
这一步可以通过git、ftp、scp等方式,而我用了scp上传
具体用法为:
scp 源文件目录 用户名@ip:目标目录
如果传的是文件夹则
scp -r 源文件目录 用户名@ip:目标目录
回车后提示输入服务器密码,输入即可。
部署项目
进入工程目录,运行npm install
,确保所有依赖的包都安装好了
安装部署工具
npm i -g pm2
在工程目录,运行sudo pm2 start bin/www
主机一般有两个IP,一个外网IP,一个内网IP,你直接访问外网IP+端口号就能访问你的网站了。例如外网IP为11.22.33.44项目监听的端口为3000则浏览器输入11.22.33.44:3000就行了。
用Nginx设置代理
vim /etc/nginx/node.js
添加以下内容
server {
listen 80;
server_name 你的ip或域名;
location / {
proxy_pass http://127.0.0.1:3000;
}
}
保存并退出,然后
service nginx restart
就可以直接通过ip或域名访问了。