云服务器那些好玩有趣的开源项目-腾讯云+Ubuntu20.04

145次阅读
没有评论

共计 13596 个字符,预计需要花费 34 分钟才能阅读完成。

友友们,由于上海疫情我从 4 月初开始就居家隔离,足不出户,闲来无事又把原来的阿里云服务器掏出来重新玩了一遍。看到知乎上有不少帖子都介绍了如何在云服务器上部署一些好玩的项目,但是都太过于分散,没有一篇综合性的帖子教大家从头开始租一台云服务器,并列举一些好玩的应用,所以今天写的这篇文章就把过往玩云服务器的一些笔记和经验总结一下,有兴趣的友友们可以玩一玩。

注:本篇所使用的云服务器系统为 Ubuntu 20.04.4 LTS 版本(LTS 表示 long term support 长期支持),云服务器为腾讯云 4 核 8G 内存 10M 出网带宽

云服务器能拿来干嘛?

通常云服务器都是提供给企业部署数据库和工具链,有的也用来搭建宣传网站,云服务器背后的实质是提供商自己的大型计算中心,这块目前国外做的比较好的有微软的 Azure 和亚马逊的 AWS,国内这块阿里腾讯华为很早就开始布局云计算,云存储,云服务器的优势是省去了企业自己买服务器搭建整套系统的运营维护成本,典型的云服务器提供商也都支持弹性硬件资源,这样也免去了在服务器硬件资源不够的情况下扩容的麻烦。总而言之云服务器相当于是企业租用提供商的硬件资源。

先撇开企业的商业用途不说,个人租用一个云服务器和企业级云服务器在硬件资源上本质没有任何区别,主要差别在于 24h 的人工技术支持这块。下面就给大家介绍一下:

1. 为什么要用云服务器,能学习到哪些知识

2. 如何选一个适合自己的云服务器

3. 如何进行一些云服务器的基本操作

4. Ubuntu 云服务器有哪些好玩实用的项目

一、为什么要用云服务器,能学习到哪些知识

通常个人的云服务器主要是用来学习一些网络和计算机知识,云服务器非常适合学习 linux 和人工智能。当然肯定有人说学 Linux 可以在自己电脑或者买个开源硬件例如树莓派,没错,我尝试过在自己的电脑上装 VMware 虚拟机跑 Ubuntu,由于虚拟机本身也占用了电脑的部分硬件资源,如果电脑配置不是很高的话,会稍许有点卡。我自己也有一块几年前买的树莓派 4B 4GB 版本,当时是 400 出头入手,最近看了一下某宝由于芯片供应短缺和疫情的影响,现在一块树莓派已经涨价到快 1000 块钱了,如果友友们是学生党的话估计有点难承受。像云服务器,最基本的入门级有 2 核 2G,2 核 4G,4 核 8G,下面就从我自己对树莓派 4B,4 核 8G 的腾讯云服务器来和个人电脑 (11 代 i5,3.1GHz 8 核) 对比下优劣势。

对于从没接触过云服务器、Ubuntu Linux 的萌新来说,最简单的就是在云服务器上搭建一个 windows 系统,然后通过远程桌面把这台云服务器当远程电脑来用,几个典型的云服务器提供商例如阿里云,腾讯云,华为云都提供了控制台,直接在控制台里面选择系统为 windows,然后会一步步教你如何通过本地的电脑远程桌面连接。本篇文章重点是介绍一些可以部署在云服务器上的好玩的开源项目,以及如何一步步使用。

通过把玩云服务器可以学到很多 linux 知识:

1. 网络的基础知识 – IP 地址,端口,内网,外网,NAT 内网穿透,代理服务器

2. SSH 命令行 – Linux 常用操作命令和运行原理

3. Docker 容器技术的基本知识和使用

4. 如何搭建个人网站 / 博客,Gitlab 服务器,甚至是云 VSCode,以及使用网页管理软件对数据库,Docker 等进行基本管理

二、如何选一个适合自己的云服务器

云服务器对于新用户相比老用户有很大的优惠,国内像腾讯云、阿里云、华为云每天都有特价活动,我差不多是在去年这个时候在阿里云官网特价活动时买了一个 2 核 2G 的轻量应用服务器,98 一年,快到期了仍然可以继续以这个价格续费,所以直接续到了 2024 年。

今年由于阿里云 2 核 2G 的性能部署一些大型的 java 应用已经捉襟见肘,例如在部署 xwiki 的时候 CPU 和内存总是会飙到 100%,然后卡死,所以我索性又买了一年的腾讯云 4 核 8GB 内存 10M 带宽,官网原价一年 2600,三年 7800,我在某鱼上找到一个商家买的只需要一年 260,真是太实惠了,前提必须是第一次使用的新用户,后悔没直接买三年的。各位友友们如果还发现什么特别的优惠渠道,可以私信我。

某鱼给出的价格

从个人的使用体验来看,国外的云服务器由于网速原因就不用考虑了,国内这三家的云服务器相同规格的性能都差不多,有人做过专业的评测,这里就不多说了。腾讯云这块做的最完善使用体验最好,帮助信息也很全面,阿里的使用体验是稍微差一些,华为云没用过不知道。

从经济性来看,腾讯云的优惠是最大的,其次是阿里云,华为云的优惠最少也最贵。这三家每年任何时候都有新用户的特价活动,活动页面就摆在官网左上角最显著的位置,活动页面的链接如下:

阿里云:https://www.aliyun.com/

腾讯云:https://cloud.tencent.com/

华为云:https://activity.huaweicloud.com/

三、如何进行一些云服务器的基本操作

在购买好云服务器之后,进入控制台就可以对云服务器进行一些基本操作,这里以我自己的腾讯云为例:

重装 Ubuntu 20.04 LTS

进入控制台后,选择右上角的更多操作 - 重装系统,这里以 Ubuntu 20.04 LTS 官方镜像为例,点击确定开始重装,LTS 表示长期支持,目前 20.04 是 Ubuntu 提供的非常稳定的 Linux 版本,很多企业级服务器都在用。

控制台界面

大概一分钟不到,云服务器就自动重装好了,回到控制台就可以查看系统的一些基本信息:

image.png

概要:可以查看公网 IP(这个要记住,登录 ssh 要用),内网 ip,常用按你牛,实例 (此云服务器) 的基本状态信息。

防火墙:主要是用来开放或限制一些端口,端口范围是 0~65535,常见的默认端口号:22(ssh),80(http 非安全),443(https 安全),3306(MySQL),138 和 445(samba 网盘 tcp),137 和 138(samba 网盘 udp)。出于安全考虑,建议是需要多少端口开多少端口,默认端口号也可以改(一般在 linux /etc 目录下的配置文件中修改)。对于第一次使用 Ubuntu Linux 的萌新可以先把端口全部开放,避免某些应用被防火墙拦截无法访问,腾讯云默认开放了 22,80,443 这几个常用的端口。

防火墙配置案例

快照:备份当前的状态用的,会把当前所有数据都备份,必要的时候可以回滚。注意:重装系统后快照数据都会丢失。

监控:可以查看 CPU,内存,网络,硬盘 IO 等信息,主要用于监控系统的运行健康状况。

Ubuntu 系统如何使用 root 用户登录实例?

Ubuntu 系统的默认用户名是 ubuntu,并在安装过程中默认不设置 root 帐户和密码。用默认用户登录很多权限不够会很麻烦,可在设置中开启允许 root 用户登录。具体操作步骤如下:

1. 在控制台点击登录(有的叫一键登录),此时是以 ubuntu 普通管理员用户登录的 ssh。

2. 执行命令 sudo passwd root,设置 root 密码,提示密码更新成功。这里 sudo 是指以 root 权限执行命令。

通常使用时我们需要使用自己本地的命令行工具以 root 用户登录 ssh,如果不是 root 用户登录需要在命令前加上 sudo,可使用 who 命令查看当前登录的用户。

依次输入以下命令:

apt update  更新 apt 软件源,腾讯云已经使用的国内 ubuntu 镜像源,所以速度超级快 apt upgrade  更新所有软件 apt install nano nano 是 ssh 界面下很好用的文本编辑器 nano /etc/ssh/sshd_config 修改 ssh 的配置文件,如果友友们习惯用 vim 也一样,我是不习惯

找到 Authentication,将 PermitRootLogin 参数修改为 yes。如果 PermitRootLogin 参数被注释,去掉首行的注释符号()。找到 Authentication,将 PasswordAuthentication 参数修改为 yes。按 CTRL+x 保存并回到到命令行,这样就可以通过自己电脑的 ssh 终端以 root 身份登录云服务器了。

使用 ssh 终端登录云服务器

接下来我们可以通过自己电脑的 ssh 终端以 root 身份登录云服务器,我用的是 SecureCRT,界面美观实用,命令历史还能直接按↑查看。

SecureCRT 新建会话界面

协议选择 SSH2,主机名 /IP 地址填写:控制台上的公网 ip 地址,端口号默认就是 22,用户名写 root,密码则是刚在 sudo passwd root 时输入的密码,这个要记住。

进入 ssh 命令行界面后,可以看到上一次登录时什么时候从哪个 ip 地址登录的,这里的 ip 地址是指你自己电脑的公网 ip 地址,可以在 http://ip.tool.chinaz.com/ 查询到,不是内网 ip 地址。

SecureCRT 界面

下面列举一些常用的 linux 命令:

把主机名改为 ubuntu:hostnamectl set-hostname ubuntu 更新源:apt update 更新软件:apt upgrade 查看已安装的软件:apt list –installed 清理旧版本的软件缓存:apt-get autoclean 清理所有软件缓存:apt-get clean 删除系统不再使用的孤立软件:apt-get autoremove 列出当前目录下的文件和文件夹:ls -la 或 直接 ls 切换到 etc 或特定目录下:cd /etc 或 cd / 目录名 或 cd .. 回到上一级目录查看当前所有系统进程信息:top (CTRL+ C 退出)列出所有进程列表:ps - a 查看某一个进程的进程 pid:ps -a |grep 进程名杀掉某一个进程:kill 进程 pid 建立文件夹:mkdir 文件夹名查看 8080 端口使用情况:netstat -atp | grep 8080 查看网卡信息:ifconfig (如果没有可以通过 apt install net-tools 安装)删除文件或文件夹:rm -rf / 路径 (这个命令要慎用,某些大厂程序员就是在离职时用了 rm -rf * 把所有服务器的数据删除了)复制文件 / 文件夹:cp 要拷贝的目录或文件路径 目标目录或文件路径剪切文件 / 文件夹:mv 要剪切的目录或文件路径 目标目录或文件路径进程控制:systemctl enable/disable/start/stop/restart/status 进程名

Linux 常用的文件夹目录:

Ubuntu 目录

/etc 存放系统和应用的配置信息,通常一些应用的配置信息在 /etc 下都有单独的文件夹 /home 如果以非 root 用户登录,/home 目录下就有这个用户名的文件夹,通常可以存放一些个人数据 /root 如果以 root 用户登录,/root 就是默认的用户目录 /bin 执行程序目录,通常不用管,通常是 /usr/bin 目录链接过来的 /usr 用户程序目录,通常不用管 /var/log 系统日志目录,.log 就是日志文件,可以用文本编辑器打开

具体 linux 的使用我就不在这里过多介绍,网上教程很多,下面介绍一些云服务器必装的应用。

四、Ubuntu 云服务器有哪些好玩实用的项目

本篇文章的重点来了,下面介绍一下我实际体验并强烈推荐的一些实用软件,这里推荐的都是免费开源的项目,我是个实用颜值控,界面必须先美观好看,其次好用实用才是王道。众所周知,Github 是程序员的天堂,更是开源软件的集中地,Github 上有无数的开源项目可以把玩,当然这里只介绍了其中的冰山一角。

TOP 1:Samba – 在 windows 中远程访问云服务器文件夹

对于不经常使用 ubuntu 命令行的友友们,动不动编辑一个配置文件或者找一个文件目录,反复在命令行里 ls,cd,nano 很痛苦,Samba 可以将云服务器的文件夹目录直接映射到本地电脑,也可以直接当网盘使用。

1. 通过如下一个命令就可以安装 samba:sudo apt install samba2. 查看 samba 的运行状态:systemctl status smbd3. 创建一个 samba 的 root 用户:sudo smbpasswd -a root4. 接下来是 samba 的配置,也是大家在使用 samba 遇到最多的一个问题,我这里通过 samba 将云服务器的根目录直接共享出来,以 root 访问,配置如下:修改 samba 配置文件:nano /etc/samba/smb.conf

[global]workgroup=WORKGROUPserverstring= %hsecurity=usermaptoguest=neverlogfile= /var/log/samba/log.%mmaxlogsize=1000logging=filepanicaction= /usr/share/samba/panic-action%dserverrole=standaloneserverobeypamrestrictions=nohostsdeny=ALL出于安全考虑,这里填写你的本地公网 ip 地址或网段,可在 http://ip.tool.chinaz.com/ 查询hostsallow=101.29.121.43101.29.*.*[ubuntu]comment=shareforuserspath= /browseable=yesavailable=yeswritable=yespublic=yes

配置完之后 CTRL+X 按两次回车键保存退出。1. 使用检查 samba 配置文件是否有误:testparm2. 确认无误后重启 samba 服务:systemctl restart smbd3. 在控制台防火墙添加 138 和 445(samba 网盘 tcp),137 和 138(samba 网盘 udp) 用于开放 samba 使用的这四个端口。4. 这时就可以通过本地计算机 - 我的电脑 - 映射网络驱动器,输入 \\ 云服务器公网 ip 地址 \ubuntu,使用其他凭据链接打勾,点击完成,输入 root 用户名和密码即可将云服务器根目录映射到本地。

上面提到配置 smb.conf 文件时,增加了 hosts deny 和 allow,原来我在用 samba 的时候并没有设置这两项,结果通过 /var/log/samba 下面的日志发现每天都有全世界各地的计算机都在尝试登录我的云服务器,所以建议大家还是及时把安全设置加上比较好,这样就只有你本地电脑可以访问云服务器的目录了。

Windows 不能访问的原因:防火墙需要开放 tcp/139,445 端口,udp/137,138 端口

TOP 2:Docker + 网页管理工具 Portainer – 将应用部署在云服务器一个个小容器里,随用随取,不用就删

之前用 Ubuntu 一直没有装 docker,所有应用都直接部署在 ubuntu 上,结果导致 ubuntu 遇到各种系统问题重装了好多次,吐槽 linux 怎么能这么难用,接近崩溃。自从用了 docker 之后,发现 docker 是真香定律,docker 部署应用和硬件基本无关,做到了真正的软硬解耦,所有应用直接部署在 docker 中,有问题直接删除容器就可以,下面介绍下 docker 的安装和使用。

Docker 和 Dockerhub 官网:

https://www.docker.com

Docker 安装:sudo apt install docker.io

查看 docker 的运行状态:sudo systemctl status docker

Docker 运行状态

Docker 的基本概念:存储卷 volume,镜像 image,容器 container。其中存储卷是映射在宿主机上的文件系统,镜像是安装文件,容器是镜像文件创建后的运行环境。

Docker 的常用命令:

获取帮助信息:docker –help 拉取镜像:docker pull 镜像名: 版本列出镜像:docker images 删除镜像:docker rmi 镜像 id 强制删除所有镜像:docker rmi -f $(docker images -q)启动容器:docker run –name= 容器名 镜像名: 版本查看容器运行状态:docker ps -a (如果是 docker ps 只能看到正在运行的容器,- a 可以看到所有容器)停止运行容器:docker stop 容器名运行容器:docker start 容器名删除容器:docker rm 容器名杀掉所有正在运行的容器:docker kill $(docker ps -a -q)删除所有正在运行的容器:docker rm $(docker ps -a -q)查看容器日志(CTRL+ C 退出):docker logs -f 容器名进入容器命令行(CTRL+ D 退出):docker exec -it 容器名 /bin/bash 容器与宿主间的文件复制:docker cp 容器名: 路径 宿主机路径删除所有未使用的系统,卷,镜像,容器,网络:docker system prune && docker volume prune && docker image prune && docker container prune

Portainer Docker 部署

Portainer 是 Docker 的网页管理工具,不过在建议学习 Docker 时还是先多敲敲命令,对 docker 的机制有个认识,再使用 portainer 管理,下面以 portainer 为例实现在 docker 中部署过程:

Portainer 网页界面

1. 创建 portainer 的存储卷:docker volume create portainer_data2. 创建到 ubuntu 目录的映射文件夹:mkdir -p /data/portainer/data && mkdir -p /data/portainer/public

3. 通过 docker run 命令一键部署 portainer:docker run -d --name portainer -p 9443:9443 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /data/portainer/data:/data -v /data/portainer/public:/public portainer/portainer-ce:latest

下面对上面这个命令做个解释:docker run 表示运行容器,docker 会自动完成 pull 拉取镜像,create 创建容器,run 运行容器 - d 是指后台运行容器,这样日志不会一直打印在命令行中 –name 后面跟随的是容器名,这个自己可以随便取 - p 表示把容器端口号开放给宿主某个端口,前面的 9443 是宿主机端口号(可改),后面的 9443 是容器的端口号(不可改)–restart=always 表示该容器每次重启后自动运行 -v 表示将容器的目录映射到宿主机目录下,格式是 宿主机目录: 容器目录,这样不用每次通过 docker exec 命令进入容器需修改文件 portainer/portainer-ce:latest 是该镜像在 dockerhub 中的名字,冒号后是版本,例如 1.0 2.0,latest 表示最新

4. 查看运行日志:docker logs -f portainer5. 确认无误后在控制台中将防火墙 9443 端口打开,在浏览器中输入 http:// 云服务器公网 ip:9443

至此,友友们就可以在网页中自由去管理容器了,Dockerhub 里面有非常多的镜像资源,大多数开源软件都有提供 docker 镜像版本。

当然,Docker 的使用远远这么简单,进阶一点的可以自己写 Dockerfile 用 docker build 构建镜像,或者用 docker-compose.yml 直接写部署脚本。

TOP 3:MySQL 数据库软件 + PHPMyAdmin 数据库网页管理

MySQL 是个很受欢迎的开源数据库管理系统,通常在服务器上部署一些 wiki,博客,网站类应用时,实际数据都是存储在数据库中的,所以在服务器上搭建一个数据库管理系统必不可少。数据库由于它自身的特殊性,为了避免在容器删除时无意中将数据库删除,所以数据库一般不建议安装在 docker 容器中,可以在服务器上直接安装。

MySQL 分为服务端 Server 和客户端 Client,服务端通常是用于存储数据库的,客户端通常用户访问服务端的数据,所以我们最好将服务端和客户端都安装好。

第一步,安装 MySQL 并进行安全设置

apt install mysql-server mysql-client mysql-common安装 MySQL 的服务端和客户端 sudo mysql_secure_installation 运行 MySQL 的初始化安全设置, 会要求填写如下一些信息(很抱歉,学 linux 必须看懂基本的英文,因为绝大多数好东西都是英文的):
[root@ubuntu ~]sudo mysql_secure_installationNOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQLSERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!In order to log into MySQL to secure it, well need the currentpassword for the root user. If youve just installed MySQL, andyou havent set the root password yet, the password will be blank,so you should just press enter here.Enter current password for root (enter for none): **<–初次运行直接回车 **OK, successfully used password, moving on…Setting the root password ensures that nobody can log into the MySQLroot user without the proper authorisation.Set root password? [Y/n] <– 是否设置 root 用户密码,输入 y 并回车或直接回车 New password: <– 设置 root 用户的密码 Re-enter new password: <– 再输入一次你设置的密码 Password updated successfully!Reloading privilege tables..… Success!By default, a MySQL installation has an anonymous user, allowing anyoneto log into MySQL without having to have a user account created forthem. This is intended only for testing, and to make the installationgo a bit smoother. You should remove them before moving into aproduction environment.Remove anonymous users? [Y/n] <– 是否删除匿名用户, 建议删除,输入 Y 并回车… Success!Normally, root should only be allowed to connect from localhost. Thisensures that someone cannot guess at the root password from the network.Disallow root login remotely? [Y/n] <–是否禁止 root 远程登录, 由于我们需要在本地远程访问云服务器的数据库,所以这里输入 n 并回车… Success!By default, MySQL comes with a database named test that anyone canaccess. This is also intended only for testing, and should be removedbefore moving into a production environment.Remove test database and access to it? [Y/n] <– 是否删除 test 数据库, 输入 y 并回车 - Dropping test database…… Success!- Removing privileges on test database…… Success!Reloading the privilege tables will ensure that all changes made so farwill take effect immediately.Reload privilege tables now? [Y/n] <– 是否重新加载权限表,直接回车… Success!Cleaning up…All done! If youve completed all of the above steps, your MySQLinstallation should now be secure.Thanks for using MySQL!

这样一来 MySQL 就安装好了,由于 MySQL 的默认端口是 3306,需要在防火墙开启 3306 端口。

第二步,配置 MySQL 用户权限和数据库信息

mysql -u root -p 登录 MySQL 并输入密码 use mysql; 使用 mysql 数据库 select host,user from user;  发现 root 用户的访问权限是 localhost, 需要修改 host 为 %update user set host=% where user=root;  设置 % 为任意远程主机可访问 set global validate_password.policy = 0; 设置密码策略为低以便增加用户,有些 root 密码设置的过于简单,在运行下一步时会提示密码策略不够 CREATE USER admin@localhost IDENTIFIED BY admin 用户密码; 增加 admin 用户 grant system_user on *.* to root; 为 root 提供 system_user 权限 update user set host=% where user=admin; 设置 % 为任意远程主机可访问 grant all privileges on *.* to admin@% with grant option; 授权 flush privileges; 更新配置 exit; 退出 MySQL

第三步,在本地电脑测试 MySQL 连接

MySQL 提供了 PC 端的数据库客户端软件 MySQL Workbench,可以在官网下载。https://www.mysql.com/products/workbench/

PC 端安装好 MySQL Workbench 之后,增加一个连接(connection),输入云服务器的公网 IP 地址,用户名 root,密码是 root 密码,这个密码要记住。

如果连接成功,将会进入云服务器的 MySQL 管理界面,选择 Administration 中的 Users and Privileges,可以看到用户,其中 From Host 是指可以访问的主机。

MySQL Workbench 界面

localhost 表示只允许云服务器自身客户端访问 % 表示任意远程主机均可访问

出于安全考虑,建议将 root 用户的 Limit to Hosts Matching 改为本地电脑的公网 IP 地址 (例如 101.29.121.43) 或者 IP 地址段(例如 101.29.%.%),再增加一个 root 用户 IP 地址填写 localhost, 这样 root 用户就只允许从自己本地电脑或云服务器的 ssh 访问了。

由于其他 wiki 博客等应用是部署在容器内的,所以可以将 admin 用户的主机权限改为云服务器的公网 IP 地址或内网 IP 地址。

如果需要增加数据库,则在命令行通过 mysql -u root - p 输入密码后,输入 create database wikidb; 然后输入 exit;这样一个名为 wikidb 的数据库就建立好了。

记住几个参数,后面部署容器会用到:主机 IP:你的公网 IP 或内网 IP 地址端口号:3306(默认)用户名:admin 密码:你输入的 admin 密码

注:你建立的个人网站或云盘就算其他人注册了账号,密码也是存储在 MySQL 数据库中,即使是管理员也是看不到的,因为这些密码都是加密后的,保证充分的安全。

接下来安装 MySQL 的网页版管理软件 PHPMyAdmin,这个可以直接部署在 docker 中,一条命令搞定。

phpMyAdmin 网页界面

docker run --name myadmin \-e PMA_ARBITRARY=1 \-e PMA_HOST=127.0.0.1 \-e PMA_PORT=3306 \-e PMA_USER="admin"\-e PMA_PASSWORD="你的 admin 密码"\-p 8443:80 \--restart=always \-d phpmyadmin:latest

防火墙开启 8443 端口,这样就可以通过 http:// 你的公网 IP 地址:8443 访问并管理你的 MySQL 数据库了。

TOP 4:Nginx 网页服务  + NginxWebUI 管理软件

Nginx 是一款是非常出名的轻量级 Web 服务器,非常适合搭建网站。Nginx 是俄罗斯的程序员 Igor Sysoev 开发并开源出来的,欧美要是有本事把 Nginx 给制裁了,全世界三分之一以上的网站都得完蛋。

Nginx Logo

NginxWebUI 是国人开发的强大 Nginx 可视化配置工具,Nginx 的核心是 /etc/nginx/nginx.conf 配置文件,Docker 部署 NginxWebUI 后自己内嵌了 Nginx,所以我这里只简单介绍下如何部署 NginxWebUI

NginxWebUI 网页界面

mkdir /data/nginxWebUI创建文件夹,用于将 nginxwebui 中的配置文件映射到宿主机中docker run -itd --name nginxwebui \-v /data/nginxWebUI:/home/nginxWebUI \-e BOOT_OPTIONS="--server.port=8080"\--privileged=true\--restart=always \-p 8080:8080 \-p 80:80 \-p 443:443 \cym1102/nginxwebui:latest

防火墙开启 8080 端口,这样就可以通过 http:// 你的公网 IP 地址:8080 访问 NginxWebUI 界面了,第一次需要初始化管理员账号密码。

TOP 5:Wiki.js 团队知识库网站

Wiki.js 是我用过众多 wiki 团队知识库管理软件中界面最美观友好的,同时还完美支持中文以及各种丰富的插件,内嵌了 WYSIWYG 可见即可得编辑器。

Wiki.js 登录界面

Wiki.js 主界面

Wiki.js 在 docker 中的部署也非常简单,一个命令即可完成,前提是先部署好数据库服务器。

docker run --name=wiki \-e DB_TYPE=mysql \-e DB_HOST= 你的公网或内网 IP 地址 \-e DB_PORT=3306\-e DB_USER=admin \-e DB_PASS=admin 密码可自行设置 \-e DB_NAME=wikidb \-e UPGRADE_COMPANION=1\--restart=unless-stopped \-p3000:3000\-p3443:3443\-d requarks/wiki:latestdocker run --name=wiki-update \-v /var/run/docker.sock:/var/run/docker.sock:ro \--restart=unless-stopped \-h wiki-update-companion \-d requarks/wiki-update-companion:latest

防火墙开启 3000 端口,这样就可以通过 http:// 你的公网 IP 地址:3000 访问 Wiki.js 了,第一次需要创建管理员账号。

TOP 6:CodeServer 云端 VS Code 编辑器

做过开发的友友们应该知道 VS Code,微软出品的免费开源的强大编辑器,支持上千个不同的插件,不同的编程语言和编译环境配置,CodeServer 则是一个网页版的 VS Code,界面和功能与桌面版 VS Code 一模一样,非常好用。

Code Server 网页界面,和 VS Code 一模一样

Github 链接:https://github.com/coder/code-serverCodeServer 的部署非常简单,mkdir 和 docker run 两个命令即可:

mkdir -p /opt/codeserver/configsudo docker run -d --name codeserver \-h codeserver \-u root \-p 5000:8080 \-v"/opt/codeserver/config:/root"\--privileged=true\--restart=always \codercom/code-server:latest

防火墙开启 5000 端口,这样就可以通过 http:// 你的公网 IP 地址:5000 体验云端的 VS Code 了,可以在扩展中搜索 chinese 安装中文插件。

注:CodeServer 登陆时需要输入密码,密码在宿主机 /opt/codeserver/config/.config/code-server/config.yaml 文件中。

TOP 7:speedtest – 网速测试

你是否想测试一下你的云服务器网速有多快呢?试试 speedtest,只要以下简单两个命令就可以。

sudo apt install speedtest-cli安装网速测试工具speedtest-cli

我的测速结果

未完待续,如果各位友友们有什么想要知道或者感兴趣的应用,欢迎私信我。

正文完
 0
评论(没有评论)