部署流程
项目写好了。有一台服务器。
服务器基本配置
登录
1 | ssh username@ip |
这是是root用户,权限太大不安全。
新建用户
1 | 新建用户 |
简化登录
本机.zshrc文件给命令配置别名1
alias tx="ssh name@ip"
无密码登录
和git仓库配置秘钥原理一样。1
2
3
4
5
6
7
81. 两边都要有生成秘钥
ssh-keygen -t rsa -C “email”
2. 服务器保存本地公钥
echo pubkey >> .ssh/authorized_keys
3. 重启服务器ssh
service ssh restart
安全措施
1 | 1. 修改端口 |
nginx配置端口代理
在/etc/nginx/nginx.conf中添加1
2# 让nginx加载配置文件
include /etc/nginx/conf.d/*.conf;
然后在/etc/nginx/conf.d文件夹下新建配置文件name-port.conf1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17upstream dappdemo {
server localhost:3000;
}
server {
listen 80;
server_name 127.0.0.1;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header X-Nginx-Proxy true;
proxy_pass http://dappdemo;
proxy_redirect off;
}
}
匹配到server_name的流量转发到proxy_pass
项目配置
安装docker
1 | 1. 安装docker |
从仓库拉取代码
- 服务器连接仓库
教程 - git clone
生成镜像
根据dockerfile新建一个镜像1
2
3docker build -t yourname/imagename:tag .
docker build -t benny/dapp:latest .
新建容器并启动
用了Makefile1
2
3
4
5
6
7
8
9
10pjName := dappdemo
docker:
docker run \
--name ${pjName} \
--rm \
-ti \
-p 3000:3000 \
benny/dapp:0.1 \
/bin/bash
1 | make docker |
启动应用
npm run start,使用pm2管理进程
1 | pm2 start pm2.json |
文章标题:部署流程
本文作者:Benny
发布时间:2020-06-08, 19:49:33
最后更新:2019-10-09, 18:32:32
原始链接:https://benny233.github.io/2020/06/08/部署流程/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。