利用废旧手机搭建一台属于自己的服务器

1. Termux —— 手机终端模拟器App

1.1 使用F-Droid应用商店安装Termux

# F-Droid 下载地址:https://f-droid.org/packages/com.termux/

1.2 使用Termux安装环境
在手机上打卡Termux软件(操作很不方便),后面介绍使用ssh服务通过电脑远程操控。

接下来就可以像使用linux来使用Termux终端了, 我们来部署一个简单的web应用,这里以Python + Flask来新建一个简单的Demo。首先,需要安装python环境:​​​​​

# pkg是termux预装的安装器,类似于centos系统的yum 或者 ubuntu系统的apt-get# 这一步会默认安装python 和 pip两个工具包pkg install python

 然后,需要安装flask框架

# -i后面的参数表示要安装的源,因为如果不加这个,可能会下载失败pip install flask -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

然后,我们可以再来安装下vim编辑器,方便后面对于代码的编辑:

pkg install vim# 新建一个python文件vim flask_test.py

1.3 在Termux上部署一个简单的web应用

 随便cp一段简单的flask代码,命名为flask_test.py

from flask import Flask

app = Flask(__name__)
import threading
count = 1

@app.route("/hello")
def hello():
    return "hello"

if __name__ == '__main__':
    app.run(host='0.0.0.0',port = 8080,debug=True)

 启动flask应用

python flask_test.py 

启动后可以通过浏览器访问,【注意】需要手机连的是家里的无线,和并且和PC在同一个局域网,我们就可以在PC的浏览器上通过访问手机局域网的IP来访问这个web应用 ,可通过ifconfig命令获取手机ip(在Termux终端输入)

为了让更多的人可以访问我们的网站,我们必须要将其暴露到公网上才行。目前我们还只能在局域网中访问这个web应用,这就用到内网穿透工具Cpolar。

 2. Cpolar —— 内网穿透工具

2.1注册Cpolar

在Cpolar上注册了一个账号后,可以获取到一个免费的Authtoken,会在后面运行这个工具的时候用到。地址:https://dashboard.cpolar.com/login

 2.2 下载Cpolar

根据系统不同下载不同的客户端

使用curl命令下载客户端,先下载curl命令。

pkg install dnsutils

安装完成后,就可以用如下命令来进行下载 

 curl -O -L https://static.cpolar.com/downloads/releases/3.2.88.16/cpolar-stable-linux-arm64.zip

2.3 启动穿透工具

# 配置authtoken./cpolar authtoken xxxxxxxx
# 映射web服务端口到公网./cpolar http 8080

 启动成功后,即可通过console打印出来的url使用公网访问(注意正咱们这个是免费版每次启动穿透的网址会改变)

3 工具安装

至此我们已经拥有了一台属于自己的云服务器,为了方便开发我们需要丰富下我们的“虚拟机”,装一些常用工具。

  • mysql(mariadb)
  • ssh认证工具(dropbear)
  • git

3.1 数据库安装

 pkg install mariadb

客户端连接

mysql

# 创建用户
MariaDB [mysql]> create user 'root'@'%' identified by 'root123';
Query OK, 0 rows affected (0.009 sec)

# 设置权限
MariaDB [mysql]> grant all privileges on *.* to 'root'@'%' identified by 'root123';

修改密码(可改可不改)

SET PASSWORD FOR 'u0_a340'@'localhost' = PASSWORD('root123');

自动启动脚本,编辑~/.bashrc文件,每次登录自动执行 

# --------------- mysqld ----------------------
name='mysql'

if pgrep -x "mysqld_safe" >/dev/null
then
    echo "[${name}]运行中..."
else
    cd '/data/data/com.termux/files/usr' ; /data/data/com.termux/files/usr/bin/mysqld_safe --datadir='/data/data/com.termux/files/usr/var/lib/mysql'  >/dev/null 2>&1 &
    echo "[${name}]启动..."
fi

3.2 ssh认证工具 

 

DONE

### 使用旧版 Windows 操作系统设置服务器 #### 选择合适的版本 对于构建服务器而言,建议选用专门设计为企业级用途的 Windows Server 版本而非普通的桌面操作系统。如果确实要利用较早版本的操作系统来部署服务,则可以考虑 Windows Server 2003 或者更高版本,这些版本提供了更稳定的服务端功能支持。 #### 启用并配置Windows防火墙 为了保障安全性,在完成安装之后应当开启系统的内置防护机制。“控制面板->系统和安全->Windows防火墙->打开或关闭Windows防火墙”,在此处确认已勾选“启用Windows防火墙”的选项[^1]。 #### 安装必要的角色和服务 通过“管理工具 -> 添加删除程序 / 角色”向导,可以根据实际需求添加Web服务器(IIS), 文件服务器, DNS服务器等功能模块。这一步骤会引导用户逐步完成相应组件的选择与安装过程。 #### 更新补丁保持系统最新状态 即使是在老旧平台上运行也应定期访问微软官方站点下载最新的累积更新包,修复可能存在的漏洞以及提高整体稳定性表现。 ```powershell # PowerShell脚本自动检测并安装可用的安全更新 $Session = New-Object -ComObject Microsoft.Update.Session $Searcher = $Session.CreateUpdateSearcher() $historyCount = $Searcher.GetTotalHistoryCount() UpdatesToInstall = @() foreach($update in ($Searcher.Search("IsInstalled=0 and Type='Software'").Updates)){ UpdatesToInstall += $update } if(UpdatesToInstall.Count -eq 0){ Write-Host "No updates available." } else { $Installer = New-Object -ComObject Microsoft.Update.Installer $Installer.Updates = [System.__ComObject[]]$UpdatesToInstall $Result = $Installer.Install() } ``` 考虑到资源消耗情况,相较于Linux平台来说,即使是经过优化后的Windows服务器也可能存在一定的劣势;不过随着技术的发展,两者之间的差距正在逐渐缩小[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值