使用云服务器记录,搭建一个web 版个人网页

目录

一、购买云服务器 

二、配置域名 DNS 域名解析

三、更新服务器密码

四、更新系统镜像

五、关闭一键登录功能

六、重置root 用户密码

密码登录

aroot密码

密钥登录

创建密钥

托管密钥

使用SSH 远程登录

将密钥绑定至 root 用户

七、ubuntu 服务器

目录结构

默认用户

snap目录

八、ngnix

安装

测试

访问查看


一、购买云服务器 

* 阿里云折扣场: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包通常安装在系统级别的目录,比如/snapvar/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
  1. 其中:

    如果你不需要自定义配置文件,可以省略最后一个参数,直接使用默认配置运行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

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
搭建一个能够记录登陆者信息的 web 应用,可以使用 Python 的 web 框架 Flask。下面是一个简单的示例: 1. 首先安装 Flask: ```python pip install flask ``` 2. 在项目根目录下创建一个 `app.py` 文件,编写以下代码: ```python from flask import Flask, request app = Flask(__name__) @app.route('/', methods=['GET', 'POST']) def index(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] # 在这里将用户名和密码保存到数据库或文件中 return 'Hello, {}!'.format(username) return ''' <form method="post"> <label>Username:</label> <input type="text" name="username"><br> <label>Password:</label> <input type="password" name="password"><br> <button type="submit">Log in</button> </form> ''' if __name__ == '__main__': app.run() ``` 这个应用会在主页上显示一个登录表单,当用户输入用户名和密码并提交表单时,会将用户名作为参数传递到 `/` 路由函数中,你可以在这个函数中将用户名和其他信息保存到数据库或文件中。在这个例子中,我们只是简单地返回一个欢迎消息,包含用户的用户名。 3. 在终端中运行 `python app.py` 命令启动应用,然后在浏览器中访问 `http://127.0.0.1:5000`,就可以看到登录表单了。 当用户提交表单后,你就可以在服务器端获取到用户的信息并进行处理了。为了保护用户的密码安全,你应该使用加密算法对密码进行加密,而不是直接保存在数据库中。另外,为了更好地管理用户的信息,你也可以考虑使用用户认证和授权库,例如 Flask-Login 和 Flask-Security 等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值