美文网首页
阿里云服务器项目部署

阿里云服务器项目部署

作者: 四月既望 | 来源:发表于2017-11-13 16:11 被阅读0次

    最近在搞一个微信小项目,开发代码已经弄好,也顺利部署到阿里云服务器上,其中遇到了一些坑,特此记录下部署的流程和遇到的坑。

    我购买阿里云时服务器的操作系统选的是ubuntu,纯命令行输入感觉还是很6的,感觉自己充满了黑客气质!

    环境介绍

    本地操作系统windows 7 ,使用putty进行远程ssh连接

    阿里云服务器ECS操作系统 ubuntu 14.04

    服务器配置

    使用putty连接到远程服务器时起始只有root用户,管理员权限,使用root登录。

    新建普通用户 :adduser iyoyo

    代理权限 : gpasswd -a iyoyo sudo

    打开sudo配置文件 sudo visudo  添加 iyoyo ALL(ALL:ALL)ALL

    修改sshd_config文件(vi /etc/ssh/sshd_config)配置项不让root登录  permitrootlogin 设置为 no

    重启ssh  sudo service ssh restart

    安装程序

    Sudo apt-get update

    Sudo apt-get install vim openssl build-essential libssl-dev wget curl git

    安装nvm:

    wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash

    使用nvm安装node:

    nvm install v6.9.5

    nvm use v6.9.5

    nvm alias default v6.9.5

    安装npm使用国内淘宝源:

    npm --registry=https://registry.npm.taobao.org install -g npm

    echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

    使用npm安装pm2 webpack等:

    npm i pm2 webpack gulp grunt-cli -g

    安装nginx

    sudo apt-get install nginx

    进入到/etc/nginx/conf.d文件夹添加conf文件:

    sudo vi (your).conf 在文件中添加配置项

    重新载入nginx配置sudo nginx -s reload

    安装mongodb

    官网上步骤比较明晰 https://docs.mongodb.com/v3.0/tutorial/install-mongodb-on-ubuntu/

    代码部署配置

    代码部署的方式主要是本地代码提交到码云私有仓库,服务器用git从码云私有仓库获取。前提是本地和服务器都要生成ssh公私钥,并将公钥添加到码云ssh密钥认证列表里。服务器代码的获取与项目启动都是使用pm2进行自动化操作。

    首先本地修改完代码执行本地操作 : 

     git add . 

    git commit -m "description"

    git push orgin master

    代码提交到私有仓库后使用本地pm2根据项目根目录ecosystem.json文件远程控制服务器pm2自动执行:

    pm2 deploy ecosystem.json production setup

    pm2 deploy ecosystem.json production

    遇到的坑

    我电脑上执行pm2 deploy ecosystem.json production时总是失败,提示cant open .git/FETCH_HEAD文件,刚开始一直觉得是服务端用户权限问题,但是查看iyoyo用户对.git文件夹的权限是-rwxrwxrwx是有权限的,一直找不到原因,网上搜了很长时间也搜不出答案,纠结花费了半天时间。可能是我刚开始使用root用户进行的pm2执行操作后来又变成iyoyo导致权限混乱,最后我把服务端的项目文件夹下的文件全部删除。重新进行 pm2 deploy ecosystem.json production setup,pm2 deploy ecosystem.json production这两步操作,最终可以了。

    因为我的是windows电脑,直接使用cmd打开的命令行执行pm2命令时一直执行不了,后来看官网常见问题介绍找到解决办法,使用git bash命令行工具运行pm2相关命令就ok了

    参考文章:

    aliyun部署:  https://zhuanlan.zhihu.com/p/20940096,

    pm2官网: http://pm2.keymetrics.io/docs/usage/deployment/

    相关文章

      网友评论

          本文标题:阿里云服务器项目部署

          本文链接:https://www.haomeiwen.com/subject/ghjzmxtx.html