上线部署及脚本开发
-
-
开放越少的端口,可以让服务器具有最大的安全性
-
服务器上只开放必要的几个端口就可以
-
不要把 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: 复制公钥到远程服务器
-
本地打开
~/.ssh/id_rsa.pub⽂件, 复制全部⽂本内容 -
ssh 登录到远程服务器, vim 打开
~/.ssh/authorized_keys⽂件 -
将复制的内容写⼊⽂件, 保存退出
.ssh文件权限:chmod 700 .ssh
authorized_keys文件权限:chmod 600 authorized_keys
Step-3: 服务器关闭密码登录
密钥设置好以后,便可以关闭服务器的密码登录,保证服务器不会被暴⼒
破解,增强安全性.
以后登录服务器只允许通过密钥登录。
-
登录服务器, 打开
/etc/ssh/sshd_config⽂件 -
找到
PasswordAuthentication yes这⾏设置,将 yes 改为 no -
执⾏
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.安装 Nginx、Redis
1.使用apt直接安装
sudo apt install nginx redis
2.wget安装(或者axel安装,更快sudo apt install axel -y)
-
浏览器中打开 nginx、redis 官⽹,找到其最新稳定版安装包的下载地
址,右键点击复制
-
ssh 登录到服务器
-
通过 wget 下载复制的软件包地址
-
解压、编译、安装
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 上传的是整个文件夹,不管下次文件有没有变化,都会重新上传

浙公网安备 33010602011771号