服务器迁移
起因
换服务器了,从阿里换到腾讯云
1是想尝试下不同得云服务器提供商,操作一遍云迁移的过程
2是阿里那边1核2G感觉有点不够用,我想要一个2核4G的,但是那边没有便宜的学生机
那边续费96(原1740),这边100(原1200),感觉是不是腾讯云本身就比阿里云便宜了一大截?
过程记录
服务器准备
- 关机重置密码
- 创建SSH密钥并绑定主机
- 使用putty Key Generator转换密钥文件
- 在putty中配置连接信息、私钥、窗口行数、字体、连接超时
至此可以使用putty远程连接主机
但是需要额外注意的一点是,ubuntu默认没有root用户,而是用户名为ubuntu的用户
需要root权限执行的场景需要使用sudo
命令
执行sudo
命令可能会要求输入用户密码,并且什么都看不见
切换root用户可以使用如下两种方法
sudo -i # 下面的是临时切换 sudo su exit
- 更新一下系统
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
我选第一个
- 无法接受没有root,没有root的Linux是莫得灵魂的
# 通过设置密码来启用root用户 sudo passwd root
环境准备
- 安装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
,不然保存会提示权限不够,感觉有点麻烦
- 安装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
- 安装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
- 先去阿里云把申请的免费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; } }
测试访问
配置域名
- 阿里云提交域名转出申请
天!转过去要收我55,就算续费一年我这边也是39才对啊
我能不能不转域名,改一下DNS解析
可以,但是https解析还要配置下
本文作者:YaosGHC
本文链接:https://www.cnblogs.com/yaocy/p/16799151.html
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步