上线部署及脚本开发

1.云服务器安全组:

  • 它是云服务器的防火墙,可以控制开放或者关闭某些端口的访问

  • 开放越少的端口,可以让服务器具有最大的安全性

  • 服务器上只开放必要的几个端口就可以

  • 不要把 MySQL、Redis 等存储服务的端口开放到公网

2.服务器免密登录

Step-1: 本地创建登录密钥

ssh-keygen -t rsa# 执⾏此命令 
# 程序输出
Generating public/private rsa key pair.
Enter file in which to save the key
(/root/.ssh/id_rsa): # 确认密钥⽂件位置 (敲回⻋)
Enter passphrase (empty for no passphrase): # 为密钥设置
密码 (⽆需密码, 直接回⻋)
Enter same passphrase again: # 确认密码 (再次回⻋)

Step-2: 复制公钥到远程服务器

  1. 本地打开~/.ssh/id_rsa.pub ⽂件, 复制全部⽂本内容

  2. ssh 登录到远程服务器, vim 打开~/.ssh/authorized_keys ⽂件

  3. 将复制的内容写⼊⽂件, 保存退出

.ssh文件权限:chmod 700 .ssh

authorized_keys文件权限:chmod 600 authorized_keys

Step-3: 服务器关闭密码登录

密钥设置好以后,便可以关闭服务器的密码登录,保证服务器不会被暴⼒

破解,增强安全性.

以后登录服务器只允许通过密钥登录。

  1. 登录服务器, 打开 /etc/ssh/sshd_config ⽂件

  2. 找到 PasswordAuthentication yes 这⾏设置,将 yes 改为 no

  3. 执⾏ service ssh restart或者sudo systemctl restart ssh重启 SSH 服务

3.更新服务器软件,安装所需组件

sudo apt update -y
sudo apt upgrade -y
# 安装软件包
sudo apt install -y gcc make openssl mysql-server zip
p7zip apache2-utils sendmail
# 安装必要依赖
sudo apt install -y libbz2-dev libpcre3 libpcre3-dev
libreadline-dev libsqlite3-dev libssl-dev zlib1g-dev

4.安装 NginxRedis

1.使用apt直接安装

sudo apt install nginx redis

2.wget安装(或者axel安装,更快sudo apt install axel -y)

  1. 浏览器中打开 nginx、redis 官⽹,找到其最新稳定版安装包的下载地

址,右键点击复制

  1. ssh 登录到服务器

  2. 通过 wget 下载复制的软件包地址

  3. 解压、编译、安装

    cd nginx-1.14.2
    ./configure
    make
    make install

查看nginx配置有没有问题:sudo nginx -t 然后sudo nginx -s reload

5.代码上传

一般放在/opt或者/var

在/opt下新建项目文件夹chinese_greens,修改文件归属为当前用户:sudo chown -R hx:hx chinese_greens/

在本地上传项目代码:rsync -crvP ./ hx@xxx.xxx.xxx.xxx:/opt/chinese_greens/ --exclude={.git,.idea,log-test,a.py}

rsync:remote sync意思是跟远端同步,c是检查是否有文件发生变化,r是递归,v是打印文件信息,P是维持文件的权限,加--delete会把本地没有上传的文件删除

rsync是下次上传时,文件有变化才会上传

也可以用scp命令上传:scp chinese_greens.zip hx@xxx.xxx.xxx.xxx:/opt/chinese_greens 上传的是整个文件夹,不管下次文件有没有变化,都会重新上传

 

posted @ 2020-06-10 14:49  JustInTime  阅读(231)  评论(0)    收藏  举报