服务器
阿里云ECS,1核/1G内存/1Mbps,网络类型:专有网络,系统选择了 uBuntu 16.04
。
服务器默认安全组只开启了22
和3389
端口,需要手动添加需要的端口。
服务器默认为 root 用户,以下指令无说明都在 root 用户下执行。
SSH登录
为服务器配置ssh密钥登录,方面使用本地Terminal操作。
生成 ssh key,若有则跳过
|
|
可以通过在 ssh key 默认路径下查看是否有 id_dsa
和 id_dsa.pub
来判断是否已经生成过默认ssh key
- Mac/Linux 位于
~/.ssh
目录下 - Windows 位于
%USERPROFILE%/.ssh
目录下
查看公钥指纹
|
|
上传公钥
在阿里云控制台创建密钥对,创建过程中需要第2步中获取到的公钥指纹。最后将服务器绑定创建的密钥对。
ssh 登录
命令:ssh [email protected]
,其中 root
为登录的用户名,xxx.xxx.xxx.xxx
为服务器的外网 IP。
在设备首次登录时,询问是否信赖远程服务器的公钥指纹,形如:
|
|
输入 yes
,会将服务器记录至 /.ssh/konwn_host
中,下次登录不再询问。
如何验证服务器的公钥指纹?
服务器的密钥对默认存储在 /ect/ssh
目录下
|
|
例如我的服务器返回的是 ECDSA key fingerprint
,那就查阅 ssh_host_ecdsa_key.pub
的指纹
|
|
若服务器返回的是 MD5 指纹,也可指明离散方法
|
|
为服务器添加别名
可以为服务器添加本地别名,免去输入复杂的 ip 地址。在 /.ssh/config
(若无则需要手动创建)中添加别名记录:
|
|
添加完别名后,就可以在终端中使用:ssh server
命令,快速到服务器了。
配置 Java
检查是否已配置 JRE/JDK
使用命令:java -version
,若出现:
|
|
则未配置 java 环境。
安装 FTP
由于 ubuntu 使用 apt-get
安装 default-jdk
为 OpenJDK
。尝试使用 ppa
安装多次失败,无法找到 oracle jdk package。最后只好采用 FTP
上传安装包手动上传。
安装 vsftpd
|
|
创建 ftp 专用用户
创建 FTP 用户 fpter
,并指定用户的主目录 /home/ftper
,设置密码为 ftperpwd
|
|
限定 ftper
用户只可用 ftp
|
|
创建 ftp 上传目录
创建 /home/ftper/data
目录,作为 ftp 上传的目录,并修改拥有者为 ftper 用户
|
|
配置 vsftpd
修改配置 vsftpd.conf,适用于 v3.0.3,更多设置查看官方文档
|
|
配置 chroot 目录
从 vsftpd 2.3.5 开始,强制要求 chroot 根目录不可写
|
|
创建 upload
目录用于上传,并确保为可写权限
|
|
重启 vsftp
|
|
开放服务器端口
在管理控制台为 ECS 所在安全组添加允许 21 端口和 50000-60000 端口
推荐新建专用于 ftp 的安全组,方便开启关闭 ftp 端口
下载 JRE/JDK
在 Oracle 官网 下载安装包,以 server-jre-8u144-linux-x64.tar.gz 为例
上传 JRE/JDK 至服务器
复制到 /usr/lib/java
目录下,并解压
|
|
添加环境变量
修改 /etc/environment
,添加如下的环境变量
|
|
安装 Java
|
|
检查是否安装成功
|
|
配置 MySQL
检查是否已经安装 MySQL
|
|
安装 MySQL
|
|
安装过程中会要求设置 MySQL root 用户的密码
检查是否成功启动
查看 MySQL 进程信息
|
|
或
|
|
本地登录 MySQL
|
|
配置远程登录
确实是否开启3306端口
MySQL 默认关闭3306端口,需要确认当前是否开启
|
|
上述结果表示 MySQL 只监听本地 127.0.0.1
端口
修改配置
查看 /etc/mysql/my.cnf
修改或添加
|
|
注意 不要采用大部分博客中所说的注释掉 bind-address = 127.0.0.1
/etc/mysql/my.cnf
默认含有!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/意味着 MySql 首先会加载
/etc/mysql/conf.d/
与/etc/mysql/mysql.conf.d/
中的配置文件,再加载/etc/mysql/my.cnf
,若有冲突则覆盖。
注释/etc/mysql/my.cnf
中的bind-address = 127.0.0.1
,MySql 则会加载默认配置,从而无法达到修改效果。
重启 MySql
|
|
重启后再次查看 3306 端口状况
|
|
上述结果表示 3306 端口正在监听所有 IP,表明修改成功。
授权远程用户访问
使用 root 身份本地登录 MySQL 后添加远程授权
|
|
[privilege1],...,[privilege2]
为允许的操作,包括:select
、insert
、update
、delete
、create
、drop
、index
、alter
、grant
,references
、reload
、shutdown
、process
、file
。all privileges
表示所有操作。[database]
为数据库名,[table]
为表明,用*
表示所有;[ip]
为允许访问的 IP 地址,'%'
表示任意地址,localhost
或127.0.0.1
表示本地,用xxx.xxx.xxx.xxx
表示具体地址;[user]
为登录用户名,[password]
为登录密码。
示例:
|
|
允许 root 用户在本地对任意数据库的任意表进行所有数据库操作
|
|
允许 sqler 用户在任意 IP 对 user 数据库的任意表进行 select、insert、update、delete、create、drop 等数据库操作
|
|
允许 sqler 用户在 139.224.xxx.xxx IP 对 user 数据库的任意表进行所有数据库操作
添加用户操作权限后,执行
|
|
立刻刷新,使设置生效,之后便可进行远程操作 MySql 了。