服务器迁移

起因

换服务器了,从阿里换到腾讯云
1是想尝试下不同得云服务器提供商,操作一遍云迁移的过程
2是阿里那边1核2G感觉有点不够用,我想要一个2核4G的,但是那边没有便宜的学生机

那边续费96(原1740),这边100(原1200),感觉是不是腾讯云本身就比阿里云便宜了一大截?

过程记录

服务器准备

  1. 关机重置密码
  2. 创建SSH密钥并绑定主机
  3. 使用putty Key Generator转换密钥文件
  4. 在putty中配置连接信息、私钥、窗口行数、字体、连接超时

至此可以使用putty远程连接主机
但是需要额外注意的一点是,ubuntu默认没有root用户,而是用户名为ubuntu的用户
需要root权限执行的场景需要使用sudo命令
执行sudo命令可能会要求输入用户密码,并且什么都看不见

切换root用户可以使用如下两种方法

sudo -i
# 下面的是临时切换
sudo su
exit
  1. 更新一下系统
sudo apt-get update
# 获取远程服务器的套件档案清单
sudo apt-get -y dist-upgrade
# 更新套件
sudo apt-get clean
# 清除更新时下载的更新档案
sudo apt-get autoremove
# 自动清除更新后用不到的旧版本档案

出现了这么个东西

A new version (/tmp/filelafLYm) of configuration file │
│ /etc/ssh/sshd_config is available, but the version installed currently │
│ has been locally modified. │
│ │
│ What do you want to do about modified configuration file sshd_config? │
│ │
│ install the package maintainer's version │
│ keep the local version currently installed │
│ show the differences between the versions │
│ show a side-by-side difference between the versions │
│ show a 3-way difference between available versions │
│ do a 3-way merge between available versions │
│ start a new shell to examine the situation

我选第一个

  1. 无法接受没有root,没有root的Linux是莫得灵魂的
# 通过设置密码来启用root用户
sudo passwd root

环境准备

  1. 安装MySQL
sudo apt update
sudo apt install mysql-server
# 检查是否安装成功
sudo systemctl status mysql
# 设置root用户密码(初始是没有密码的)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '新密码';
# 调用脚本设置MySQL安全性,初始化配置
sudo mysql_secure_installation

这里禁止了远程登录root用户,于是我们需要准备一个remote用户专门用于远程登录

# 创建一个用户
# %代表所有IP可访问
create user 'remote'@'%' identified by 'Remote123';
# 为用户授权
grant all privileges on *.* to 'remote'@'%' with grant option;

然后去远程连接测试一下
不行

  • 开启防火墙放行3306端口
  • 要把ubuntu下mysql配置文件/etc/mysql/mysql.conf.d/mysqld.cnf中的bind-address改为0.0.0.0允许所有IP
    然后重启一下MySQL就行

另外注意ubuntu下的vim要带上sudo,不然保存会提示权限不够,感觉有点麻烦

  1. 安装Nginx
sudo apt update
sudo apt install nginx
sudo systemctl status nginx
sudo systemctl enable nginx # 好像有点问题?

访问IP地址以检查Nginx是否正常运行

最后看一眼我的网站
合影留念

把站点文件拷贝一份到本地
3. 安装JDK

# 装11,8太老了,17太新了
sudo apt install openjdk-11-jdk
# 检查版本
java -version
# 以防万一,还是把8装上
sudo apt install openjdk-8-jdk
# 这个命令还能检查默认版本
java -version
# 这个命令可以设置默认版本,查看安装路径
sudo update-alternatives --config java
# 打开环境变量配置文件
sudo vim /etc/environment
# 加一行
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64"
# 使配置生效
source /etc/environment
# 打印检查
echo $JAVA_HOME
  1. 安装Tomcat 9

为什么不是10?因为10很坑,9能正常运行的在10上面就不行

# 安装包下载到tmp目录
wget http://www-eu.apache.org/dist/tomcat/tomcat-9/v9.0.68/bin/apache-tomcat-9.0.68.tar.gz -P /tmp
# 解压到/opt/tomcat
sudo tar xf /tmp/apache-tomcat-9*.tar.gz -C /opt/tomcat
# 创建一个符号链接指向最新版本的tomcat
sudo ln -s /opt/tomcat/apache-tomcat-9.0.68 /opt/tomcat/latest
# 教程给tomcat专门配备了一个用户,我这边暂时没这么干
# 给bin目录中的所有脚本赋予执行权限
sudo sh -c 'chmod +x /opt/tomcat/latest/bin/*.sh'
# 创建systemd的服务文件
sudo vim /etc/systemd/system/tomcat.service
[Unit]
Description=Tomcat 9 servlet container
After=network.target
[Service]
Type=forking
User=ubuntu
Group=ubuntu
Environment="JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64"
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
Environment="CATALINA_BASE=/opt/tomcat/latest"
Environment="CATALINA_HOME=/opt/tomcat/latest"
Environment="CATALINA_PID=/opt/tomcat/latest/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
ExecStart=/opt/tomcat/latest/bin/startup.sh
ExecStop=/opt/tomcat/latest/bin/shutdown.sh
[Install]
WantedBy=multi-user.target
# 保存并关闭文件,通知systemd创建了一个新的单位文件
sudo systemctl daemon-reload
# 启动并设置开机自启
sudo systemctl start tomcat
sudo systemctl enable tomcat

然后去开放防火墙的8080端口

测试

安装证书

Nginx
  1. 先去阿里云把申请的免费SSL证书下载下来
cd /etc/nginx/conf.d
sudo mkdir cert
插曲 配置WinSCP

可以在连接信息的 “高级”-ssh-验证 中绑定密钥
传输文件需要修改ssh配置

vim /etc/ssh/sshd_config
# 改下面两行
PasswordAuthentication yes
PermitRootLogin yes
service ssh restart

把证书和公钥上传到新建的cert目录下,继续装证书
改nginx配置文件

vim nginx.conf
# 添加以下内容
server {
listen 443 ssl;
server_name yaos.cc;
root /usr/share/nginx/html;
index index.html index.htm;
ssl_certificate conf.d/cert/8492641_yaos.cc.pem;
ssl_certificate_key conf.d/cert/8492641_yaos.cc.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型,您需要自行评估是否配置TLSv1.1协议。
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html; #Web网站程序存放目录。
index index.html index.htm;
}
}
server {
listen 80;
server_name yaos.cc; #需要将yourdomain替换成证书绑定的域名。
rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
location / {
index index.html index.htm;
}
}

测试访问

配置域名

  1. 阿里云提交域名转出申请

天!转过去要收我55,就算续费一年我这边也是39才对啊
我能不能不转域名,改一下DNS解析
可以,但是https解析还要配置下

本文作者:YaosGHC

本文链接:https://www.cnblogs.com/yaocy/p/16799151.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   YaosGHC  阅读(764)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起