目录
一、购买云服务器
* 阿里云折扣场:http://aly.ruoyi.vip
* 腾讯云秒杀场:http://txy.ruoyi.vip
* 阿里云优惠券:云小站_专享特惠_云产品推荐-阿里云
* 腾讯云优惠券:新客专属福利
根据我想使用这个服务做一些开发项目,于是使用2核4G配置。
购买时20240514 这个时间,发现阿里 2核4G 版本 仅 企业用户有优惠,而腾讯云 面向全部用户优惠 199/年。于是选择了 2核 4G
二、配置域名 DNS 域名解析
如果没有域名可以暂时跳过,使用ip访问
域名购买:我购买的阿里云的域名 几块 - 几十块 /年,选择非.com .cn 域名可以节约很多钱
阿里云注册域名如何配置为 DNSPod 的 DNS 服务器 - DNSPod 服务与支持
点击服务 添加完成域名,你会发现
进入阿里云域名管理DNS 进行域名DNS 配置,配置
根据需求判断 是否为域名解析付费
三 、网站备案
如果没有域名可以暂时跳过,使用ip访问
身份证不在身边,暂时无法操作,后续更新。
点击去云备案即可跳转备案网站,按照提示一步一步来即可。
具体流程如下,需要身份证原件,与收集。小程序操作备案信息。
根据要求提示停止域名解析
停止后访问域名会有如下提示
提交备案信息后,1小时内接到了腾讯云 核实信息,然后他会告诉你填写的地方那些是有问题的,然后电话沟通修改。
5分钟左右,注意应急电话会通知到位,需要告诉应急电话所属人你的姓名以及网站备案的事情。
备案信息提交到网信部后会发送一个12386开头短信验证。一天内完成填写。
四、更新服务器密码
五、更新系统镜像
六、关闭一键登录功能
七、重置root 用户密码
密码登录
修改root密码
sudo passwd root
根据提示修改root密码
因为是云服务器建议更改得复杂些
切换用户命令
su root
根据提示登录
密钥登录
为了安全我还是选择了使用密钥登录
创建密钥
注意创建密钥的地址选择云服务器实例所在地址,才能正确自动绑定
根据提示创建托管
托管密钥
使用SSH 远程登录
1、输入用户名
ubuntu (默认绑定的这个用户)
2、输入密码
输入你配置的密码
3、选择用户密钥
将密钥绑定至 root 用户
在密钥绑定登录服务器之后,由于Ubuntu服务器默认用户为Ubuntu,无法用root直接登录。
解决方法很简单,只需要将ubuntu用户下的密钥复制到root用户下即可,代码如下:
cat /home/ubuntu/.ssh/authorized_keys > /root/.ssh/authorized_keys
这样使用密钥登录默认登录就是root 用户了
重启下就就可以使用root 用户登录了
如果服务器没有使用关机即可
八、ubuntu 服务器
目录结构
安装 tree 命令
//这个命令主要用于更新你的系统的软件包列表
sudo apt update
//安装tree
sudo apt install tree
- /anaconda: 如果存在,Anaconda环境,存放Conda的安装的目录,用于Python和其他语言环境管理。
- bin: 快捷径指向
/usr/bin
,包含基础命令,对所有用户执行。 - boot: 系统启动文件,如内核、GRUB等,系统引导时加载。
- data: 通用数据存储,可能用于放置用户或应用数据。
- dev: 设备文件,代表系统中的设备。
- etc: 配置置文件,系统服务和用户配置,如网络、启动脚本。
- home: 用户目录,每个用户的个人文件。
- lib: 库件,系统运行库文件。
- libexec: 与Python3相关的库和执行文件。
- local: 本地安装的软件,非包管理的程序。
- mnt: 临时挂载设备。
- opt: 第三方应用安装目录。
- os-release: 系统信息,指向系统版本和详情。
- overlayroot: 管理员目录。
- proc: 虚拟文件系统,系统信息。
- python: Python相关。
- rc?.d: 启定服务启动脚本。
- resolv.conf: 域名解析配置,指向systemd。
- run: 运行时目录,系统运行时文件。
- sbin: 管理员用命令。
- selinux: 安全策略。
- services: 服务定义。
- shadow: 密文。
- shells: 可用shell列表。
- skel: 用户模板目录。
- snap: snap包。
- sos: 系统服务。
- ssh: 安全目录。
- ssl: 安全套件。
- subgid/uid: 用户/组映射。
- sys: 系统控制。
- systemd: 系统d服务。
- terminfo: 字符库。
- termald: 动态。
- timezone: 时区。
- tmpfiles.d: 时文件规则。
- tools: 工具。
- update: 更新。
- usr: 二进制文件和程序。
- var: 变化数据。
- vfio: 虚拟。
- vhost: 拟。
- zfs: 文件系统。
- zsh_command_not_found: shell命令。
默认用户
在home 目录中看到了 lighthouse 与 ubantu 俩用户
lighthouse:一键登录使用的用户
ubantu: 系统默认用户
根目录下 有个root 目录,普通用户访问看不到这个目录的
root:超级管理用户
snap
目录
snap
目录位于用户的个人目录下,意味着它是属于用户snap包管理的一部分。然而,这与我们通常理解的Snap(大写的Snap)包管理器不太相符,后者是Ubuntu中用来安装、管理应用程序的一种容器化、安全、独立的软件包格式。Snap包通常安装在系统级别的目录,比如
/snap或
var/snap`中,而不是个人用户目录。
九、ngnix
安装
sudo apt update
sudo apt install nginx
测试
检查ngnix状态
sudo systemctl status nginx
若未启动使用命令
sudo systemctl start nginx
访问查看
默认是80端口,直接输入你的公网域名即可
如此你已经成功在公网上展示了你的第一个页面了。如果你只是想弄一个人网页到这里就可以结束了。
十、nginx 配置详解
全部放一个文章中 现得文章太长了,单独开一个文档
应为我是想用来做测试服务所以需要安装一些 软件,接下来 是我记录安装软件的过程。
十、 安装docker容器管理
直接使用apt install docker.io
确实可以工作在某些情况下快速简单,特别是对于初学者或临时环境,但对于生产环境或需要更严格管理、安全控制版本、方便升级、保障的场景,额外步骤是有益处的。选择适合您需求的安装方法是关键。
其实使用docker --version 就会提示安装命令
docker --version
Command 'docker' not found, but can be installed with:
snap install docker # version 24.0.5, or
apt install docker.io # version 24.0.5-0ubuntu1~22.04.1
apt install podman-docker # version 3.4.4+ds1-1ubuntu1.22.04.2
更新可用安装包
apt-get update
列出可用安装包
apt list -a docker.io
安装指定安装包
sudo apt install docker.io=20.10.21-0ubuntu1~22.04.3
安装最新版本
apt install docker.io
检查
docker -v
十一、安装、配置mysql8
如果的你的系统需要
caching_sha2_password
那你得安装
MySQL 8.0.22以上版本
安装
拉取MySQL 8镜像: 打开终端或命令提示符,运行以下命令以从Docker Hub拉取MySQL 8的官方镜像。这里以版本8.0.20为例,但您可以根据需要替换为其他版本号(如8.0最新版)
docker pull mysql:8.0.20
启动
运行MySQL 8容器: 接下来,运行以下命令来启动一个MySQL容器。此命令会将容器的3306端口映射到主机的3306端口,并设置环境变量MYSQL_ROOT_PASSWORD
来指定root用户的密码。同时,通过-v
参数可以实现数据的持久化存储,避免数据丢失
docker run -p 3306:3306 --name mysql-server -e MYSQL_ROOT_PASSWORD=your_strong_password -v /path/to/mysql/data/on/host:/var/lib/mysql -d mysql:8.0.20
替换/path/to/mysql/data/on/host
为您的主机上希望存放MySQL数据的目录路径,your_strong_password
替换为您想要设置的root密码。
查看状态
验证容器运行状态: 运行以下命令检查MySQL容器是否正在运行:
docker ps
如果一切正常,您应该能看到包含mysql-server的容器在列表中。
连接到MySQL容器
要进入容器并使用MySQL客户端,执行以下命令:
docker exec -it mysql-server bash
然后,在容器内部,您可以使用MySQL客户端命令来连接数据库:
mysql -u root -p
输入之前设定的密码即可登录
创建数据库
CREATE DATABASE dataname;
开启服务器3306端口,注意开启内网ip的端口,保证仅通过内网可访问保证安全。
导入你的sql文件进行建表等等
mysql 8 你如果按照 正常配置可能会遇见这种问题
运行报错
当你使用Java的JDBC驱动(特别是com.mysql.cj.jdbc.Driver
,即MySQL Connector/J 8.x版本)连接到MySQL 8,并且你的MySQL服务器配置了caching_sha2_password
作为默认身份验证插件时,如果没有正确配置连接字符串或MySQL服务器未允许公钥检索,就可能出现“Public Key Retrieval is not allowed”的错误。
解决方案
完美解决:MySQL8报错:Public Key Retrieval is not allowed
完美解决:MySQL8报错:Public Key Retrieval is not allowed-CSDN博客
注意 mysql再window环境是大小写不敏感的,linux大小写敏感。从window环境导出的数据库sql并不能直接再linux 上部署,最好解决了该问题再进行部署。
Mysql区分大小写(大小写敏感)配置_dbms: mysql (版本 8.0.32) 区分大小写: 普通形式=lower,分隔形式=low-CSDN博客
十二 、redis
拉取Redis镜像
拉取Redis镜像: 打开终端或命令提示符,运行以下命令来从Docker Hub拉取Redis的官方镜像。你可以选择特定版本,例如redis:6.2.7
,或者使用latest
标签来获取最新版本。
docker pull redis
或者,如果你需要特定版本:
docker pull redis:6.2.7
运行Redis容器
运行Redis容器: 使用以下命令来启动Redis容器。这个命令将6379端口从宿主机映射到容器,创建数据卷用于持久化数据,并允许容器使用配置文件(如果需要自定义配置)。
添加配置文件
运行前需要找一份redis.conf 放到你的项目挂载目录的redis.conf文件
访问github地址https://github.com/redis/redis.git
修改配置文件 关闭保护模式,允许全部ip 访问
protected-mode no
bind 0.0.0.0
前台运行
docker run --name my-redis -p 6379:6379 -v /data/redis/data:/data -v /data/redis/conf:/usr/local/etc/redis redis redis-server /usr/local/etc/redis/redis.conf
后台运行
不输出提示信息
docker run -d \
--name my-redis \
-p 6379:6379 \
-v /data/redis/data:/data \
-v /data/redis/conf:/usr/local/etc/redis \
redis redis-server /usr/local/etc/redis/redis.conf
-
其中:
如果你不需要自定义配置文件,可以省略最后一个参数,直接使用默认配置运行Redis。
-d
表示以后台模式运行容器。--name my-redis
给容器命名,便于后续管理。-p 6379:6379
将宿主机的6379端口映射到容器的6379端口。-v /mydata/redis/data:/data
将宿主机的/mydata/redis/data
目录挂载到容器的/data
目录,用于存储Redis数据。-v /mydata/redis/conf:/usr/local/etc/redis
将宿主机的配置文件目录挂载到容器的配置目录,假设你有自定义的配置文件放在该目录下。redis redis-server /usr/local/etc/redis/redis.conf
告诉容器使用指定的配置文件启动Redis服务。
验证Redis容器
检查容器是否正在运行:
docker ps
连接Redis
连接Redis: 你可以通过Redis客户端来连接Redis服务,例如使用redis-cli
,如果在宿主机上也安装了Redis,可以这样操作:
redis-cli -h localhost -p 6379
或者,如果你想直接在容器内使用Redis命令行界面,可以执行:
docker exec -it my-redis redis-cli
注意给你的服务器自身放开防火墙限制
开放内网ip