服务器部署前端&node 项目(包括阿里云服务器、nginx 以及 mongoDB 的配置)

分类: 小鸟云优惠码 发布时间:2019-01-14 19:46

打开阿里云,选择购买云服务器 ECS,这里可以选择一键购买进行快速配置,操作系统选择 CentOS 7.2 64 位,其他默认或根据实际需求来,若选择自定义购买请自行搜索;

购买成功设置账号密码后,就可以通过 ftp 工具(我用的是 FileZilla)或者 git 连接我们的服务器了,这个时候我们也可以打开阿里云的控制台/云服务器 ECS 查看购买的服务器;

打开阿里云的控制台/云服务器 ECS/网络和安全/安全组,在安全组列表点击配置规则,点击快速创建规则,就可以暴露端口了。比如暴露 80 端口,选择 HTTP(80),授权对象填0.0.0.0/0,其他默认就可以了。暴露其他端口你就在自定义端口选择,比如暴露 7001 端口,你就在自定义端口选择 TCP,输入7001/7001即可。

开启node 性能平台,点击创建新应用按照操作提示来就行,成功开启后在项目配置(具体配置看下文))就可以监控数据了。

1.git 连接

# ssh remote_username[@remote_ip](/user/remote_ip) 然后输入密码即可 如果ssh不存在,执行以下命令即可 # yum install openssh-client 下载客户端ssh2.ftp 工具连接(这里以 FileZilla 为例),下载 filezilla 后,点击新建站点,输入主机 ip,选择 sftp 协议,选择登录类型为正常,输入账号密码即可

1.部署 node 环境

# ssh remote_username[@remote_ip](/user/remote_ip) 连接服务器 # wget .5/node-v6.9.5-linux-x64.tar.xz 下载node压缩文件 # tar xvf node-v6.9.5-linux-x64.tar.xz 解压 # ln -s /root/node-v6.9.5-linux-x64/bin/node /usr/local/bin/node 创建软连接 # ln -s /root/node-v6.9.5-linux-x64/bin/npm /usr/local/bin/npm 创建软连接 # node -v 查看node版本 # npm -v 查看npm版本2.其他

# yum install vim 下载vimnginx 安装&配置1.nginx 安装

# yum install epel-release 下载epel-release # yun install nginx 下载nginx # cd /etc/nginx # vim nginx.conf 用vim打开nginx.conf2.修改 nginx.conf

修改 user 为 root

server {    listen       80 default_server;    listen       [::]:80 default_server;    server_name  _;    root         /root/www/;    # Load configuration files for the default server block.    include /etc/nginx/default.d/*.conf;    location /admin/ {    # 为空即可,前端打包文件放在/root/www/admin里面就可访问到,注意默认是index.html    }    location /app/ {    }    location /wx/ {        proxy_pass   ;    }    error_page 404 /404.html;        location = /40x.html {    }    error_page 500 502 503 504 /50x.html;        location = /50x.html {    } }3.启动 nginx

nginx -t 测试nginx语法是否有误 nginx 启动nginx nginx -s reload 重启nginx,修改nginx.conf后记得重启4.其他命令

ps -ef | grep nginx 显示nginx进程 nginx -s stop 停止nginx nginx -v 查看nginx版本部署 mongodb1.安装 mongodb

# ssh remote_username[@remote_ip](/user/remote_ip) 连接服务器 # curl -O -linux-x86_64-3.0.6.tgz 下载 # tar -zxvf mongodb-linux-x86_64-3.0.6.tgz 解压 # mkdir data 创建数据库文件夹 # touch mongodb.log 创建日志文件 # cd /usr/local/mongodb/bin # ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork 注意fork是后台启动,避免又要再开窗口重新连接服务器再能进行其他操作 # ./mongo 连接mongodb2.配置随 linux 启动

在/etc/rc.local 添加如下即可:

# rm /usr/local/mongodb/data/mongod.lock 停止可能在运行的mongo # /.../bin/mongod -dbpath /usr/local/mongodb/data -logpath /usr/local/mongodb/mongodb.log -logappend -fork -port .设置权限

# cd /usr/local/mongodb/bin # ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork # ./mongo > use admin > db.createUser( >  { >    user: "root", >    pwd: "", >    roles: [ { role: "root", db: "admin" } ] > } > ) > db.shutdownServer(); # ./mongod -dbpath=/usr/local/mongodb/data -logpath=/usr/local/mongodb/mongodb.log -logappend -port=27017 -fork --auth # db.auth("root","")4.项目中连接 mongodb(这里以 koa 框架 egg 项目为例,其他 node 请自行查找)

# cnpm i egg-mongoose -S // config/plugin.js exports.mongoose = {  enable: true,  package: 'egg-mongoose', } // config/config.default.js config.mongoose = {    url: 'mongodb://127.0.0.1/eggadmin',    options: {        // 如果设置了密码        // auth: { "authSource": "admin" },        // user: "root",        // pass: "",    } }部署 node 项目部署环境 阿里云 CentOS 7.2 64 位

1.本地项目根目录(删除 node_modules,建议依赖在服务器下载)

# tar -zcvf ../file_name.tgz . 打包 # scp ../file_name.tgz remote_username[@remote_ip](/user/remote_ip):/root/www/server 上传到服务器2.服务器

# ssh remote_username[@remote_ip](/user/remote_ip) 连接服务器 # cd /root/www # mkdir server 这里创建server文件夹放node项目代码 # cd server # tar -zxvf file_name.tgz . 解压 # cnpm install --production 安装生产环境依赖 1. koa项目(express项目类似) # cnpm i -g pm2 下载pm2 # pm2 start bin/www 守护进程启动 # pm2 restart app_name|app_id 重启 # pm2 stop app_name|app_id 停止 # pm2 list 查看进程状态 # pm2 stop all 停止所有应用 # pm2 start ./bin/www --watch 监听更改自动重启 2. egg项目 # npm start 运行 # npm stop 停止3.阿里 node 性能平台监控

1)koa 项目(express 项目类似)

# wget -O- -node/tnvm/master/install.sh | bash 安装版本管理工具 tnvm # source ~/.bashrc # tnvm ls-remote alinode 查看需要的版本 # tnvm install alinode-v3.11.4 安装需要的版本 # tnvm use alinode-v3.11. 使用需要的版本新建 config.json 文件如下,从node 性能平台获取对应的接入参数

{ "appid": "<YOUR APPID>", "secret": "<YOUR SECRET>" }# cnpm install [@alicloud](/user/alicloud)/agenthub -g 安装 agenthub # agenthub start config.json 启动agenthub # agenthub list 查看 agenthub 列表 # ENABLE_NODE_LOG=YES pm2 start bin/www 使用pm2管理的应用2)egg 项目

# cnpm i nodeinstall -g # nodeinstall --install-alinode ^3 # cnpm i egg-alinode --save # npm start// config/plugin.js exports.alinode = {  enable: true,  package: 'egg-alinode', }; // config/config.default.js config.alinode = {  appid: '<YOUR_APPID>',  secret: '<YOUR_SECRET>', };部署前端项目(这里以 vue 为例)在项目根目录npm run build,然后把 dist 文件夹里的内容传到服务器,这里我们把两个项目分部传到/root/www/app 和/root/www/admin,记得提前创建 app 和 admin 文件夹