本地环境 Mac 服务器 阿里云 ubuntu 14 x64
云服务器环境配置
ssh 链接
ssh root@ip地址
复制代码
磁盘管理
fdisk -l
复制代码
查看硬盘使用情况
df -h
复制代码
control + d \\退出ssh
复制代码
==========================
创建权限较低的用户
adduser manager
复制代码
升级权限
gpasswd -a manager sudo
sudo visudo
复制代码
=======================
配置ssh公钥秘钥(已配置)
启动ssh代理
eval "$(ssh-agent -s)"
复制代码
加入ssh代理
ssh-add ~/.ssh/id_rsa
复制代码
(服务器授权文件 .ssh目录下)
vi authorized_keys
~/.ssh$ chmod 600 authorized_keys
~/.ssh$ sudo service ssh restart
复制代码
=======================
防火墙配置
sudo iptables -F
sudo vi /etc/iptables.up.rules
复制代码
防火墙配置文件
*filter
#allow all connections
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
#allow out traffic
-A OUTPUT -j ACCEPT
#allow http https
-A INPUT -p tcp --dport 443 -j ACCEPT
-A INPUT -p tcp --dport 80 -j ACCEPT
#allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 29999 -j ACCEPT
#ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#log denied calls
-A INPUT -m limit --limit 5/min -j LOG --log-prefix "iptables denied:" --log-level 7
#reject all other inbound
#-A INPUT -j REJECT
#-A FORWORD -j REJECT
#drop incoming sensitive connections
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --set
-A INPUT -p tcp --dport 80 -i eth0 -m state --state NEW -m recent --update --seconds 60 --hitcount 150 -j DROP
COMMIT
复制代码
sudo iptables-restore < /etc/iptables.up.rules
复制代码
查看防火墙是否启动
sudo ufw status
->Status: inactive
sudo ufw enable
复制代码
防火墙开机自启动 shell脚本配置
sudo vi /etc/network/if-up.d/iptables
复制代码
#!/bin/sh
iptables-restore /etc/iptables.up.rules
复制代码
给予脚本执行权限
sudo chmod +x /etc/network/if-up.d/iptables
复制代码
=======================
升级本地工具包
sudo apt-get update
复制代码
安装必要的依赖
sudo apt-get install git vim openssl build-essential libssh-dev wget curl git
复制代码
安装nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.8/install.sh | bash
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.1/install.sh | bash
复制代码
罗列nodejs版本
nvm ls
复制代码
安装nodejs8.1.2
nvm install v8.1.2
复制代码
使用
nvm use v8.1.2
复制代码
设为默认
nvm alias default v8.1.2
复制代码
配置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
复制代码
安装cnpm
npm --registry=https://registry.npm.taobao.org install -g cnpm
复制代码
配置防火墙端口(加入端口3006到白名单)
sudo vi /etc/iptables.up.rules
复制代码
在配置文件中 将website段代码复制 改端口3000为3006
重载配置
sudo iptables-restore </etc/iptables.up.rules
复制代码
================================
再node 官网中复制about代码例
vi server.js
复制代码
启动服务
node server
复制代码
关闭防火墙
sudo ufw stop
复制代码
关闭nginx
sudo service nginx stop
复制代码
启动服务
node server
复制代码
启动另一个终端
curl http://127.0.0.1:3006
-》Hello World
复制代码
##本地安装 通过 Homebrew 安装yarn
brew install yarn
复制代码
服务器安装
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
复制代码
sudo apt-get update && sudo apt-get install yarn
复制代码
设置yarn安装源为淘宝
yarn config set registry https://registry.npm.taobao.org
复制代码
用npm全局安装 vue-cli pm2 webpack gulp grunt-cli(服务器与本地相同)
npm install vue-cli pm2 webpack gulp grunt-cli -g
复制代码
用pm2来自动维护server进程
pm2 start server.js
复制代码
访问
curl http://127.0.0.1:3006
复制代码
查看服务
pm2 list
pm2 show server
复制代码
结束
pm2 stop server
复制代码
查看日志内容
pm2 logs
复制代码
重启服务
pm2 restart server
复制代码
安装 vue-cli
npm i vue-cli -g
复制代码
===============
node -v
->8.1.2
npm -v
->5.0.3
pm2 -v
2.5.0
yarn --varsion
0.24.6
vue -V
2.8.2
brew -v
1.2.2
复制代码
Nginx 配置
============================
阿里云服务器预装apache
停apache
sudo service apache2 stop
复制代码
删除
update-rc.d -f apache2 remove
复制代码
彻底删除
sudo apt-get remove apache2
复制代码
更新关联表
sudo apt-get update
复制代码
安装nginx
sudo apt-get install nginx
nginx -v
复制代码
查看已部署项目配置
cd /etc/nginx/conf.d
ls
复制代码
配置后重启
sudo service nginx restart
复制代码
如果出错
sudo nginx -t
复制代码
wx-123mai-vip-3006.conf
upstream wx{
server 127.0.0.1:3006;
}
server {
listen 80;
server_name wx.123mai.vip;
location / {
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Farward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://wx;
proxy_redirect off;
}
}
复制代码
安装MongoDB数据库
====================
Ubuntu安装MongoDB 14.04 x64
1 public key 导入
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 2930ADAE8CAF5059EE73BB4B58712A2291FA4AD5
复制代码
2 创建列表(阿里云源)
echo "deb [ arch=amd64 ] https://mirrors.aliyun.com/mongodb/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
复制代码
echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.6 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.6.list
复制代码
3 更新本地包
sudo apt-get update
复制代码
4 安装全家桶
sudo apt-get install -y mongodb-org
复制代码
开启服务
sudo service mongod start/stop/restart
复制代码
检查是否启动成功
cat /var/log/mongodb/mongod.log 查看是否有日志信息
复制代码
如果安装失败
cd /etc/apt/sources.list.d
ls
vi mongo*****
复制代码
修改源地址
查看mongodb 端口及安全配置
sudo vi /etc/mongod.conf
->
net:
port: 27017
bindIp: 127.0.0.1
复制代码
打开防火墙配置,添加白名单
sudo vi /etc/iptables.up.rules
复制代码
-A OUTPUT -j ACCEPT
#allow http https
-A INPUT -p tcp --dport 443 -j ACCEPT
-A IMPUT -p tcp --dport 80 -j ACCEPT
-A INPUT -p tcp --dport 8081 -j ACCEPT
#allow ssh port login
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT
#ping
-A INPUT -p icmp -m icmp --icmp-type 8 -j ACCEPT
#mongodb connect
-A INPUT -s 127.0.0.1 -p tcp --destination-port 27017 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -d 127.0.0.1 -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT
复制代码
使用 git
=======================
New Project
git 全局设置
git config --global user.name "Prove"
git config --global user.email "137684885@qq.com"
复制代码
创建 git 仓库
mkdir vxfirst
cd vxfirst
touch README.md
git commit -m "first commit"
git remote add orgin git@gitee.com:luo-xin/vxfirst.git
git push -u orgin master
复制代码
已有项目
cd existing_git_repo
git remote add origin git@gitee.com:luo-xin/wx.git
git push -u origin master
复制代码
git 公钥 私钥 配置
ssh-keygen -t rsa -b 4096 -C '137684885@qq.com'
不断回车, 设置没有密码的公钥
复制代码
开启ssh代理
eval "$(ssh-agent -s)"
复制代码
码云配置公钥
cd ~/.ssh
cat id_rsa.pub 打印内容到控制台
复制内容,到码云的公钥配置页面
保存
复制代码
测试是否有拉取权限
git clone git@gitee.com:luo-xin/vxfirst.git
复制代码
配置pm2
===================
本地拉取项目代码
部署项目到www目录 设置权限
cd ~/www
mkdir wx
sudo chmod 777 vxfirst
复制代码
git 本地提交
显示本地与上次提交版本文件不同
git diff
把当前所有修改添加到下次提交中:
git add
附加信息提交
git commit -m '修改信息'
提交
git push origin master
正确步骤:(当新建一个项目要重新git至仓库时)
1. git init //初始化仓库
2. git add .(文件name) //添加文件到本地仓库
3. git commit -m "first commit" //添加文件描述信息
4. git remote add origin + 远程仓库地址 //链接远程仓库,创建主分支
5. git pull origin master // 把本地仓库的变化连接到远程仓库主分支
6. git push -u origin master //把本地仓库的文件推送到远程仓库
复制代码
第一次初始化
pm2 deploy ecosystem.json production setup
复制代码
发布
pm2 deploy ecosystem.json production
复制代码
ecosystem.json
{
"apps": [
{
"name": "IceAndFire",
"script": "start.js",
"env": {
"COMMON_VARIABLE": "true"
},
"env_production": {
"NODE_ENV": "production"
}
}
],
"deploy": {
"production": {
"user": "你的服务器登录名",
"host": ["你的服务器 IP"],
"port": "你的服务器登录端口 默认 22",
"ref": "origin/master",
"repo": "你的 git 仓库地址",
"path": "/www/icefire/production",
"ssh_options": "StrictHostKeyChecking=no",
"post-deploy": "yarn install && npm run build && pm2 startOrRestart ecosystem.json --env production",
"env": {
"NODE_ENV": "production"
}
},
"plus": {
"user": "你的服务器登录名",
"host": ["你的服务器 IP"],
"port": "你的服务器登录端口 默认 22",
"ref": "origin/master",
"repo": "你的 git 仓库地址",
"ssh_options": "StrictHostKeyChecking=no",
"post-deploy": "yarn install && pm2 startOrRestart ecosystem.json --env production",
"env": {
"NODE_ENV": "production"
}
}
}
}
复制代码