服务器参数
服务器:阿里云 ECS (未作任何配置)
Linux版本:CentOS 7.6 64位
温馨提示:如果服务器重装系统或格式化磁盘,将会导致处浏览器外,本地不可远程登录和上传公钥文件。请看-> 解决方案。
一、配置Linux
1.1、用户组管理
- 创建用户在
groupadd admin
1.2、用户管理
- 创建用户, 并添加到创建的admin用户组中
useradd langkye -g admin
- 设置[修改]密码
passwd langkye
- 修改用户权限(新建用户的权限较低)
sudo vim /etc/sudoers
进入sudoers中,在 root ALL=(ALL) ALL
下面添加:
langkye ALL=(ALL) ALL
- 删除用户
userdel -rf langkye
-rf
表示删除用户名和用户关联的邮箱等文件,否则若新建相同的用户将会提示用户已存在。
1.3、远程登录
- 禁止root远程登录
sudo vim /etc/ssh/sshd_config
将#PermitRootLogin yes
修改为PermitRootLogin no
- 重启sshd服务
sudo systemctl restart sshd.service
成功之后,只能用其它用户远程登录服务器。而不能用root用户进行远程登录。
1.4、免密(证书)登录远程服务器
1.4.1、在[本地
]创建.ssh隐藏目录,用于保存本地生成的公钥和私钥(一般建在用户目录下)
- 命令行创建(Mac或安装了Git-bash的Windows)
mkdir ~/.ssh
说明:~
表示用户主目录,即Windows的c:/Users/自己的用户名
; Mac, /home/当前登录的用户名
- 图形界面创建(略)
1.4.2、创建密钥对
cd ~/.ssh
ssh-keygen -t rsa -C AliCloud -f AliCloud
说明:-t, 选中加密方式;-C, 描述;-f, 生成的密钥对文件名
输入命令后一路回车...
成功后,在.ssh目录下会出现[AliCloud] 和 [AliCloud.pub]两个文件。其中,AliCloud.pub为公钥;AliCloud为私钥。
1.4.3、将公钥上传到服务器
利用ssh提供的远程拷贝命令[scp
]来上传公钥文件。
cd ~/.ssh
scp AliCloud.pub langkye@服务器公网IP:.
1.4.4、在服务器中配置
cd ~
mkdir ~/.ssh
touch authorized_keys
cat AliCloud.pub >> ~/.ssh/authorized_keys
- 修改.ssh和authorized_keys的权限为当前登录用户所有
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys
1.5、在本地配置登录
cd ~/.ssh
vim config
添加:
Host langkye # 本地登录的名字,可随意
HostName 服务器A公网IP
Port 22 # SSH端口
User 用户名
IdentityFile ~/.ssh/AliyunCS # 密钥路径
Host Tencent
HostName 服务器B公网IP
Port 22
User langkye
IdentityFile ~/.ssh/TencentCS
1.6、免密登录
ssh langkye
1.7、配置防火墙
1.7.1 更新yum
sudo yum -y update
1.7.2 配置yum自动更新
- 安装插件
sudo yum install -y cronie yum-cron
- 修改配置文件
sudo vim /etc/yum/yum-cron.conf
更改:
# 启用自动更新
# apply_updates = no
apply_updates = yes
- 启动服务
sudo systemctl start crond
sudo systemctl start yum-cron
1.7.3 安装防火墙
sudo yum install -y firewalld
1.7.4 启动防火墙
sudo systemctl start firewalld.service
- 查看防火墙状态
sudo firewall-cmd --list-all
1.8、修改ssh端口
1.8.1 修改ssh服务配置文件
sudo vim /etc/ssh/ssd_config
修改Port 22
1.8.2 将防火墙中关于ssh的配置拷贝到防护墙工作路径中
sudo cp /usr/lib/firewalld/services/ssh.xml /etc/firewalld/services/
修改<port protocol="tcp" port="22" />
:
<port protocol="tcp" port="必须与上一步修改的端口一致" />
1.8.3 在服务器控制台中开放相应的端口(略)
1.8.4 通过控制台远程登录服务器重启ssh服务和防火墙
sudo systemctl restart sshd.service
sudo systemctl restart firewalld.service
1.8.5 修改本地ssh的端口
vim ~/.ssh/config
- 将Port端口设置一致即可
二、安装并配置数据库
以mariadb为例,它与MySQL几乎相同
2.1、安装数据库
- 安装mariadb数据库和mariadb数据库服务
sudo yum -y install mariadb mariadb-server
- 启动数据库
sudo systemctl start mariadb
- 设置开机自启
sudo systemctl enable mariadb.service
- 设置root密码
mysql_secure_installation
步骤:跳过第一次的输入密码,设置密码、确认密码,一路回车...
2.2、创建项目的数据库。如:
create database mysite