Linux 服务器配置
主要是针对阿里云服务器的。
服务器安全配置
使用阿里云生成的密钥对登陆服务器:
具体见官方文档
主要步骤是先在控制台创建一个密钥对,创建后会下载一个生产的私钥*.pem
格式的,然后将该密钥对与实例绑定。
登陆的时候可以用一些软件,如Xshell。 配置ssh登陆时,使用下载的私钥进行验证登陆。
创建一个新用户
我们一般不直接使用 root 登陆,通常先创建一个拥有超级权限的新用户,以后就用这个用户了。
执行下面的命令, 创建一个新用户,这里以 xxm 为例。
adduser --gecos "" xxm # 添加一个名为 xxm 的用户
usermod -aG sudo xxm # 赋予 xxm 用户 sudo 权限
非 root 用户免密登陆配置(阿里云服务器)
首先保证,前面已经使用阿里云生成的密钥对,进行免密登陆root用户。
接下来实现非 root 用户的免密登陆:
- 将 /root/.ssh/authorized_keys拷贝到普通用户家目录下
cp -r /root/.ssh /home/xxm
- 变更权限, 即将.ssh 目录的所有权的用户改为 xxm, 用户组为 root:
chown -R xxm:root /home/xxm/.ssh
- ssh 登陆的时候改一下用户名就行了
保护服务器
- 禁止 root 登陆, 禁用密码登陆
编辑 /etc/ssh/sshd_config
ssh的配置文件, 修改下列配置:
PermitRootLogin no # 禁止 root 登陆
PasswordAuthentication no # 禁止密码登陆
重启 ssh 服务生效
sudo service ssh restart
- 仅允许部分端口进行外部通讯
对于阿里云服务器,端口的开放需要在控制台的安全组规则中进行配置。
想要开放相应的端口进行通讯,添加相应的安全组规则即可。
安装基本的软件
先更新系统软件:
sudo apt-get update
sudo apt-get upgrade
安装 git,
安装 zsh, 现在的终端太丑
sudo apt-get install -y git
sudo apt-get install -y zsh
安装 oh-my-zsh, oh-my-zsh中整理了常用的zsh扩展和主题,
sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
在这里找一个喜欢的主题, 比如 agnoster
主题在安装 oh-my-zsh 时就已经安装, 配置文件是~/.zshrc
,打开编辑第十行修改即可.
将zsh 设置为默认终端.
sudo chsh -s `which zsh`
重新登陆即可
安装基础依赖
sudo apt-get -y install python3-venv
sudo apt-get -y install nginx supervisor
安装 MySQL
我想在服务器上让 MySQL 作为 Django 应用的数据库。
参考 https://www.cnblogs.com/zhanggl/p/3985678.html
下面是具体的方法:
安装 MySQL.
sudo apt-get install mysql-server
安装过程会让你设置root用户的密码。
安装完成后,MySQL服务器会自动启动,我们检查MySQL服务器程序
➜ ~ ps -ax|grep mysql
4105 ? Ssl 0:00 /usr/sbin/mysqld
4173 pts/0 S+ 0:00 grep --color=auto --exclude-dir=.bzr --exclude-dir=CVS --exclude-dir=.git --exclude-dir=.hg --exclude-dir=.svn mysql
检查MySQL服务器占用端口
➜ ~ netstat -nlt|grep 3306
tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN
通过系统服务命令检查MySQL服务器状态, 可以看到正在运行
➜ ~ service mysql status
● mysql.service - MySQL Community Server
Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2019-08-15 22:01:22 CST; 1min 3s ago
Main PID: 4105 (mysqld)
CGroup: /system.slice/mysql.service
└─4105 /usr/sbin/mysqld
安装MySQL服务器,会自动地一起安装MySQL命令行客户端程序。在本机输入mysql命令就可以启动客户端程序访问MySQL服务器。
mysql -u root -p
表示密码登陆 root 用户