部署阿里云( centos + nodejs + mongodb + vue)
vue 打包->dist copy -> node项目>public -> 服务器上
前端工程|后端工程|库文件 -》 云服务上面
服务器类型: 部署阿里云(centos + nodejs + mongodb + vue)
二、使用finalShell连接服务器
1. 安装 finalShell
2. 启动 finalShell
新建会话:
主机:公网IP
端口 : 22
用户身份验证:
用户名:root
密码: 登录密码
三、給服务器安装环境(node + vue访问json)
1、安装node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install -y nodejs
检测: node -v
四、上传代码(前端|后端)
1. 创建空的node环境: express -s .
2. vue 打包: npm run build -> dist
3. dist里面的文件 copy -> 空node 项目的 public下面
4. 把node项目 -》 拖拽到 finalSheel>/usr/local/创建目录/
5. http://公网ip:3000
问题:服务器代码数据库都已上传,但是访问不了
分析: 很可能是3000端口不能被使用, 需要添加"安全组规则"
解决: 找到管理->安全组-》配置规则-》添加规则-》端口范围(3000/3000),授权对象(0.0.0.0/0)
问题: finalSheel关闭后:服务停止 浏览器就不可以访问了
解决:
npm i pm2 -g
cd /usr/local/你的目录
pm2 start ./bin/www
浏览器访问项目即可
ip地址:3000
部署阿里云( centos + nodejs + mongodb + vue)
vue 打包->dist copy -> node项目>public -> 服务器上
前端工程|后端工程|库文件 -》 云服务上面
服务器类型: 部署阿里云(centos + nodejs + mongodb + vue)
简洁:
----------------------------------
一、买服务器(机器)
1. 学生特惠24:
https://promotion.aliyun.com/ntms/act/campus2018.html?spm=5176.230344.1224685.2.3b84443e9LLgUu
云服务器ECS
root/@Root123
普价:
https://promotion.aliyun.com/ntms/act/qwbk.html?spm=5176.8112568.420890.1.7e469ed538CFBL
2. 支付宝-》注册-》实名认证填写身份证的信息-》ecs
3. 重设密码(登录密码):
ecs服务器->实例->更多->重置实例密码
用户名默认: root
重启实例 @Root123
二、使用finalShell连接服务器
1. 安装 finalShell
2. 启动 finalShell
新建会话:
主机:公网IP
端口 : 22
用户身份验证:
用户名:root
密码: 登录密码
三、給服务器安装环境(node + vue访问json)
1、安装node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install -y nodejs
检测: node -v
四、上传代码(前端|后端)
1. 创建空的node环境: express -s .
2. vue 打包: npm run build -> dist
3. dist里面的文件 copy -> 空node 项目的 public下面
4. 把node项目 -》 拖拽到 finalSheel>/usr/local/创建目录/
5. http://公网ip:3000
问题:服务器代码数据库都已上传,但是访问不了
分析: 很可能是3000端口不能被使用, 需要添加"安全组规则"
解决: 找到管理->安全组-》配置规则-》添加规则-》端口范围(3000/3000),授权对象(0.0.0.0/0)
问题: finalSheel关闭后:服务停止 浏览器就不可以访问了
解决:
npm i pm2 -g
cd /usr/local/你的目录
pm2 start ./bin/www
浏览器访问项目即可
ip地址:3000
----------------------------------
高级:
----------------------------------
一、买服务器(机器)
1. 成人特惠: https://promotion.aliyun.com/ntms/act/qwbk.html?spm=5176.8112568.420890.1.67ae9ed5edEDHe
云服务器ECS
2. 支付宝-》注册-》实名认证填写身份证的信息-》ecs
3. 手动停止服务器 ----> 初始化磁盘 ---> 重设密码(登录密码)
二、使用finalShell连接服务器
1. 安装 finalShell
2. 启动 finalShell
新建会话:
主机:公网IP
端口 : 22
用户身份验证:
用户名:root
密码: 登录密码
三、給服务器安装环境(node + mongodb)
1、安装node
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash -
yum install -y nodejs
检测: node -v
使用NVM安装多版本(可选)
2.1 yum install git
2.2 git clone https://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
2.3 echo ". ~/.nvm/nvm.sh" >> /etc/profile
2.4 source /etc/profile
2.5 cd /
2.6 nvm list-remote
nvm install vx.x.x
nvm use vx.x.x
安装解压文件模块
yum install unzip
安装文件传输工具(可选)
yum -y install lrzsz
2. npm i pm2 -g
四、上传代码(前端|后端)
1. vue 打包: npm run build
2. 本地测试生成环境
npm i serve -g
serve -s dist -l 8080
问题 : 生成环境下 不能访问 3000
原因 : 生成环境下代理是无效的
解决: 服务器端 安装ngnix 来完成代理
3. 拷贝 dist -> node的public下面 + 本地测试(启动node服务)
4. 整合好的node 拖到 finalShell 下面
5. npm i -》 npm start | pm2 start ./bin/www
6. 问题: 没有库
六、給服务器安装mongodb服务
安装mongodb
yum install mongodb-server mongodb -y
创建数据库目录和日志目录
mkdir -p /data/db
mkdir -p /data/logs/db
启动数据库
mongod --fork --dbpath /data/db --logpath /data/logs/db/nodeapp.log
创建远程数据库(与本地操作一样)可选
use 库、db.集合.save、
七、本地数据库copy到远程库
本地出库:
需要先导出本地的数据 -> json
mongoexport -h 127.0.0.1 -d 库名 -c 集合名 -o 输出路径/xx.json
上传: json -> finalShell上传到远端磁盘 -》 远端
远端入库:
json -> 导入数据库
mongoimport -d 远端库 -c 集合 -file 服务器json路径/xx.json
----------------------------------
问题0: 关闭finalShell ,服务断了
安装pm2, nodejs服务器管理器 (npm i pm2 -g)
启动服务器:pm2 start 启动文件.js
浏览器访问项目即可
如果想停掉服务器: pm2 stop all
Pm2扩展:https://blog.csdn.net/chengxuyuanyonghu/article/details/74910875
问题1:如果关闭xshell之后,再次打开发现之前安装的模块都无效了,
分析: 安装了多版本node环境导致
解决:
a) 输入nvm ls 查看可用的node的版本,-->手动指向nvm use当前使用的node版本
b) 使用nvm install vx.x.x,之后使用nvm alias default vx.x.x可以不用每次进入服务器都要nvm use了***
问题2:可以有多个app?使用一个实例?
分析:app指向不同端口就好了
解决:app指向不同端口,安全组里添加多个端口,pm2 进入到对应服务器位置,逐个启动,如果端口重复,先启用的应用会占用端口
问题3:本地代码对应有哪些变动
mongodb://localhost:27017 可不用动,远端访问的也是localhost
io(‘http://localhost:3000’)->io(‘http://服务器ip:3000’)
问题4: 不想要端口可以?,
分析:使用http协议默认的80端口
解决: 修改本地的端口号指向80,安全组添加80
问题5: 不使用ip,使用网址
分析: 是一个IP和域名关联的过程
解决:
域名购买:
https://promotion.aliyun.com/ntms/act/domainbrand.html?spm=5176.8112568.483655.2.67ae9ed5edEDHe
域名解析:
域名-》解析-》添加记录->记录值(ip)
www:解析后的域名为www.aliyun.com。
@:直接解析主域名 aliyun.com。
二级域名:如:abc.aliyun.com,填写abc。
备案: 特惠专区-》域名与网站->域名新手多重礼(实名,备案15工作日)
未备案不可使用一级域名和端口省略
问题6: 不备案有什么影响
小程序上线时不能部署
没有域名不便于宣传
无法使用https安全协议访问
问题7: 启用https访问
SSL证书->获取https免费证书->配置(node服务器使用https模块响应)
获取https免费证书:
https://yq.aliyun.com/articles/221596?spm=5176.10695662.1996646101.searchclickresult.1dec5d98Oy3WNE
下载: 证书通过后->下载 other类型的 xx.key/xx.pem 下载到-> bin/www
配置:
node配置: bin/www
var https = require('https');
const fs = require('fs');
const port=443;
app.set('port', port);
const options = {
key: fs.readFileSync('./bin/1826016_uncle9.top.key'),//指向key
cert: fs.readFileSync('./bin/1826016_uncle9.top.pem'),
};
var server = https.createServer(options,app);//查看nodejs.cn>https模块
安全组规则:添加443
问题8: 如何添加二级域名 xx.uncle9.top
域名->管理->域名解析
问题9: 如何在浏览器访问uncle9.top是自动跳转到https
https://blog.csdn.net/chwshuang/article/details/52443274
阿里云服务器 ECS 部署lamp:centos+apache+mysql+php安装配置方法 (centos7)
https://www.cnblogs.com/mike-mei/p/7554591.html