Nginx反向代理&&Node服务器部署发布流程

目录

一、生产环境所需要素

二、域名

三、远程登录服务器

1、windows用户可以下载putty、xshell等工具

2、使用zsh配置登录别名

3、添加用户,不再用root登陆

4、实现无密码登陆(重点)

5、端口安全性

6、关闭root方式登陆

7、配置iptables

8、安装Fail2Ban

四、搭建node生产环境

1、首先更新源

2、安装包文件

3、安装nvm和node

4、配置淘宝源

5、增加系统文件监控

6、安装必要依赖

7、测试一下

8、使用pm2让程序一直运行

五、使用Nginx反向代理

1、让web服务通过80端口被外网访问

2、安装nginx

3、配置nginx

六、利用DNSPod管理域名

七、安装配置mongoDB

1、参照官方安装文档来安装,注意选择是centos(redHat)还是Ubuntu

2、有可能因为阿里云的源问题导致下载失败,那么就屏蔽源

3、在最后下载mongodb包是可以在更改阿里云的源

4、编辑防火墙允许27017端口访问

5、启动重启mongodb

6、更改默认端口

7、导出导入数据

8、导出导入某条记录值

9、设置数据库权限

10、容灾备份

11、安装mysql

八、项目部署(重点)

1、安装git,生成本地密钥

2、建立本地与码云的通信

3、上传项目值码云

4、建立服务器与码云的通信

5、测试是否可行

6、使用pm2自动部署管理代码(重要)

7、有数据库且开了用户权限的项目发布

九、配置HTTPS协议

1、申请免费的ssl证书的平台

2、配置DNS解析

3、更改nginx配置

遇到的问题:阿里云服务器配置(以后遇到问题逐渐添加)


 

一、生产环境所需要素

  1. 购买域名;
  2. 购买服务器;
  3. 域名备案;
  4. 配置服务器环境;
  5. 安装配置数据库;
  6. 项目远程部署发布与更新

二、域名

推荐网站:爱名网、阿里云/万网、腾讯云/新网、DNSpod

三、远程登录服务器

1、windows用户可以下载putty、xshell等工具

2、使用zsh配置登录别名

      用于方面mac linux系统快速登陆(没多好作用)

     alias shh_tcf=”ssh root@47.95.xxx.200"

3、添加用户,不再用root登陆

     add immoc_manager

     升级immoc_manager权限

     gpasswd -a immoc_manager sudo

     编辑sudo

     sudo visudo

     添加imooc_manager All=(All:ALL) ALL

      重启服务:service ssh restart

4、实现无密码登陆(重点)

免密登陆流程

本地生成公钥私钥id_rsa 和 id_rsa.pub(Windows需要再git bash中执行。

mkdir .ssh

cd .ssh

ssh-keygen -t rsa -b 4096 -C ”1058333333@qq.com”

开启ssh代理并加入代理:

eval "$(ssh-agent -s)"(或者eval `ssh-agent -s`)

ssh-add ~/.ssh/id_rsa

(如果不成功,则windows先去到.ssh目录下执行ssh-agent bash 再执行ssh-add ~/.ssh/id_rsa)

去将本地公钥发送到服务器

在.ssh目录下

ssh-keygen -t rsa -b 4096 -C ”105833333@qq.com”

eval "$(ssh-agent -s)"(或者eval `ssh-agent -s`)

ssh-add ~/.ssh/id_rsa

vi authorized_keys 添加本地服务器中的公钥(is_rsa.pub)这种方式容易拷贝空格

最好在本地git bash中执行ssh-copy-id -i ~/.ssh/id_rsa.pub root@47.95.201.251

更改权限:chmod 600 authorized_keys

重启服务:sudo service ssh restart(centos 下执行service sshd restart)

这样一来,当本地登陆服务器时,就会去匹配看秘钥是否一致。

 

5、端口安全性

sudo vi /etc/ssh/sshd_config

在修改之前先再开一个窗口保持登陆状态,一旦修改出错,还能在那个已登陆态里修改回来

首先修改Port 39999

末尾添加AllowUsers immoc_manager

重启Sudo service ssh restart

下次登陆就需要输入端口ssh -p 39999 imooc_manager@47.95.xxx.200这样可以降低被扫描攻击的概率

 

6、关闭root方式登陆

因为阿里云的账号都是root,别人可以扫描root下所有端口破解。所以再新建imooc_manager用户后,可以关闭root来登陆

sudo vi /etc/ssh/sshd_config

PermitEmptyPasswords no#是否允许空密码登陆

PermitRootLogin no#是否允许root登陆

PasswordAuthentication no#是否允许密码登陆。因为配置了秘钥登陆,所以不需要密码,但是只能配置好了的本地主机才能登陆了

 

7、配置iptables

还是先多开几个窗口,防止配置出错不能登陆

先升级apt-get(centos请使用yum命令)

Sudo apt-get update && sudo apt-get upgrade

清空iptables

sudo iptables -F

配置iptables规则

sudo vi /etc/iptables.up.rules

告诉iptables规则在哪里

sudo iptables-restore < /etc/iptables.up.rules

激活防火墙

sudo ufw enables

sudo ufs status

设置脚本开机启动

sudo vi /etc/network/if-up.d/iptables

Sudo chmod +x /etc/network/if-up.d/iptables

8、安装Fail2Ban

Sudo apt-get install fail2ban

编辑配置文件

Vi /etc/fail2ban/jail.conf

bantime=3600

destemail = 10583022222@qq.com

action = %(action_mw)s

开启Fail2Ban

sudo service fail2ban start/stop/status

 

四、搭建node生产环境

1、首先更新源

sudo apt-get update(centos用sudo yum update)

2、安装包文件

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

3、安装nvm和node

去github搜索nvm,第一个就是

执行命令

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

nvm install lts

nvm use vxx.xx.xx

nvm alias default vxx.xx.xx

4、配置淘宝源

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

5、增加系统文件监控

echo fs.inotigy.max_user.watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

6、安装必要依赖

npm i pm2 webpack gulp grunt-cli -g

7、测试一下


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值