杂项-安卓搭建web服务(Termux)
说明
- 安卓设备通过Termux搭建本地web环境
- 需求:在手机中部署网站实现无网络本地访问;
- 环境:Windows+雷电模拟器+Android7
操作
- Windows环境安装雷电模拟器(xx版自行搜索),雷电模拟器默认运行Android7环境;
- 下载Termux软件安装包(需要梯子):https://f-droid.org/packages/com.termux;
- 在手机中安装Termux;
在Termux中进行复制粘贴
- 在外部复制好需要运行的命令,到Termux中长按弹出“COPY PASTE MORE...”,点击PASTE进行粘贴;
Termux基本命令
除了支持apt命令外,还在此基础上封装了pkg命令,pkg命令向下兼容apt命令。apt命令大家应该都比较熟悉了,这里直接简单的介绍下pkg命令;
pkg search <query> # 搜索包 pkg install <package> # 安装包 pkg uninstall <package> # 卸载包 pkg reinstall <package> # 重新安装包 pkg update # 更新源 pkg upgrade # 升级软件包 pkg list-all # 列出可供安装的所有包 pkg list-installed # 列出已经安装的包 pkg show <package> # 显示某个包的详细信息 pkg files <package> # 显示某个包的相关文件夹路径
常用环境变量和目录结构
echo $HOME /data/data/com.termux/files/home echo $PREFIX /data/data/com.termux/files/usr echo $TMPPREFIX /data/data/com.termux/files/usr/tmp/zsh
端口查看
- Android10以下:
netstat -an
,netstat -an | grep 3306
...
- Android10以下:
- 安装基础依赖:
pkg install vim curl wget git tree -y
更改终端配色方案(会自动激活SD卡外置存储)
- 有梯子执行:
sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
- 没有梯子执行:
sh -c "$(curl -fsSL https://html.sqlsec.com/termux-install.sh)"
- 弹出授权Termux访问文件的弹窗选择“始终允许”
- 手机App默认只能访问自己的数据,如果要访问手机的存储,需要请求权限,如果你刚刚不小心点了拒绝的话,那么可以执行以下命令来重新获取访问权限:
termux-setup-storage
- 如果安装最后显示XXX文件不存在,让你重启Termux,那就重启一次,再执行一次安装命令
脚本允许后先后有如下两个选项:
Enter a number, leave blank to not to change: 22 Enter a number, leave blank to not to change: 6
分别选择色彩样式和字体样式,重启 Termux app 后生效配置。不满意刚刚的效果,想要继续更改配色方案的话,可以根据下面命令来更改对应的色彩配色方案:
- 更改颜色:
chcolor
- 更改字体:
chfont
- 更改颜色:
- 有梯子执行:
创建目录软连接
执行过上面的配色方案脚本后,并且授予Termux文件访问权限的话,会在家目录生成storage目录,并且生成若干目录,软连接都指向外置存储卡的相应目录:
% pwd /data/data/com.termux/files/home/storage % ls -al total 8 drwx------ 2 u0_a33 u0_a33 4096 Jul 28 15:53 . drwx------ 8 u0_a33 u0_a33 4096 Jul 28 15:54 .. lrwxrwxrwx 1 u0_a33 u0_a33 24 Jul 28 15:53 dcim -> /storage/emulated/0/DCIM lrwxrwxrwx 1 u0_a33 u0_a33 28 Jul 28 15:53 downloads -> /storage/emulated/0/Download lrwxrwxrwx 1 u0_a33 u0_a33 26 Jul 28 15:53 movies -> /storage/emulated/0/Movies lrwxrwxrwx 1 u0_a33 u0_a33 25 Jul 28 15:53 music -> /storage/emulated/0/Music lrwxrwxrwx 1 u0_a33 u0_a33 28 Jul 28 15:53 pictures -> /storage/emulated/0/Pictures lrwxrwxrwx 1 u0_a33 u0_a33 19 Jul 28 15:53 shared -> /storage/emulated/0
- 最后一个shared目录就是手机存储sdcard目录了,在手机文件夹管理中创建网站目录并上传网站代码,比如:
/storage/emulated/0/www/test.com
安装NGINX
- 安装:
pkg install nginx
查看:
nginx -v
报错:
CANNOT LINK EXECUTABLE "nginx": library "libssl.so.3" not foundAborted
- 说明:该错误是因为你本地环境的一些基础依赖过于陈旧;
- 解决:
pkg update
,根据提示全部选y
进行更新版本;
- 启动:
nginx
- 重启:
nginx -s reload
- 停止:
nginx -s stop
或nginx -s quit
- 安装:
NGINX搭建网站
- 先切换到NGINX程序目录:
cd $PREFIX/etc/nginx
; - 增加vhosts目录:
mkdir vhosts
加入第一个网站配置:
- 拷贝一个配置文:
cp nginx.conf vhosts/
- 切换到配置文件目录:
cd vhosts
- 重命名配置文件:
mv nginx.conf test.conf
修改配置文件,删除无用配置行,最终网站配置文件内容:
server { listen 8081; server_name test.com; location / { root /data/data/com.termux/files/home/storage/shared/www/test.com; index index.html index.htm; } }
- 拷贝一个配置文:
- 重启NGINX:
nginx -s reload
- 访问测试:http://127.0.0.1:8081
- 先切换到NGINX程序目录: