手机服务器全纪录

思路

  1. 用LinuxDeploy安装Ubuntu
  2. 在Ubuntu中安装内网穿透和nginx
  3. 在termux中实现各种服务
  • 安装busybox
  • 安装linuxdeploy
在Linux Deploy 中:
  • 设置PATH为busybox中的安装路径
  • 点击更新环境
  • 新建配置文件,并选中
  • 回到主界面,点击右下角的设置图标,进入配置界面
  • 设置源地址(根据自己选择的发行版选择以下镜像地址)
  • 镜像地址:
    http://mirrors.tuna.tsinghua.edu.cn/archlinuxarm/
    http://mirrors.tuna.tsinghua.edu.cn/debian/
    http://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/
    注意:目前Linux Deploy不支持HTTPS协议的镜像
  • 开启初始化,选择sysv(开启后,后面安装的nginx,内网穿透服务可以随容器一起启动)
  • 设置挂载路径,开启SSH
  • 执行安装(等待几秒到几分钟,依网络情况、安装版本和手机性能,差异较大)
ArchLinux
  • 源列表文件:/etc/pacman.d/mirrorlist
  • 列出所有显式安装: pacman -Qqe
  • 一般pillow不支持arm架构的处理器(除了archLinux)
    pacman -S python3 python-pip
    pacman -S python-pillow
    pip install virtualenv
    virtualenv --system-site-packages venv
    source venv/bin/activate(在fish中则加上.fish)
安装哲西云

apt install curl
sudo curl -o install.sh "http://cloud.zhexi.tech/upgrade/install.sh" && sudo bash ./install.sh --token As692Q
将文件CSClientDaemon复制到/etc/init.d/中,并添加可执行权限

pip 国内源

~/.pip/pip.conf

 [global]
 index-url = https://pypi.tuna.tsinghua.edu.cn/simple
WEB

列出所有的端口
netstat -ntlp
netstat -an | grep 80

Termux

(原博客)Termux 高级终端安装使用配置教程

  1. 用电脑ssh连接termux
    在termux中安装ssh:pkg install openssh
    在termux中开启ssh:sshd
    获取termux中的用户名:whoami,得到u0_a175
    PC端生成公钥:ssh-keygen -t rsa
    执行完成后,会在用户目录下创建3个文件
    id_rsa, id_rsa.pub , known_hosts
    把公钥id_rsa.pub拷贝到手机的/data/data/com.termux/files/home/.ssh文件夹中:
    首先在电脑端执行:adb root,获取root权限,
    然后执行:adb push ~/.ssh/id_rsa.pub /data/data/com.termux/files/home/.ssh
    在termux中:cd ~/.ssh && cat id_rsa.pub > authorized_keys
    termux开启的ssh服务端口为8022
    在电脑中:ssh [email protected] -p 8022连接成功。
    或者设置密码,以用户名密码的方式登录ssh
  2. 更换国内源
    termux:
    export EDITOR=vi
    apt edit-sources
    将原来的https://termux.net官方源替换为http://mirrors.tuna.tsinghua.edu.cn/termux
    如果原来的源是https://dl.bintray.com/termux/termux-packages-24,可以不换,这个源貌似也很快。
    pkg update && pkg install vim curl wget git unzip unrar
  3. 终端配色 & 外置存储
    执行脚本一步配置:
    sh -c "$(curl -fsSL https://github.com/Cabbagec/termux-ohmyzsh/raw/master/install.sh)"
    分别选择背景色和字体
    想要继续更改挑选配色的话,继续运行脚本来再次筛选:
    ~/termux-ohmyzsh/install.sh
    执行过上面的zsh一键配置脚本后,并且授予文件访问权限的话,重启,会在家目录生成storage目录,并且生成若干目录,软连接都指向外置存储卡的相应目录。
    配置主题:
    编辑.zshrc配置文件:
    vim ~/.zshrc
    第一行可以看到,默认的主题是agnoster主题
    我认为几款不错的主题:
    jaischeema,re5et
    启动问候语的编辑:
    vim $PREFIX/etc/motd
  4. 安装nginx包:pkg install nginx
    默认的普通权限无法启动nginx,需要模拟root权限才可以
    pkg install proot
    进入模拟的root环境:termux-chroot
    模拟root环境的根目录是:
    /data/data/com.termux/files/
    启动nginx:nginx
    termux上nginx默认的端口是8080
    查看下8080端口是否在运行
    netstat -an |grep 8080
    停止nginx服务:fuser -k 8080/tcp
    这里是直接杀掉占用端口的进程,具体端口以实际情况为准.
    重启nginx服务:nginx -s reload
  5. linux deploy安装Ubuntu(过程略)
    另外一种内网穿透方法:https://www.jianshu.com/p/6951894707b4
  6. nginx解析PHP
    nginx解析PHP这里单独拿出一级标题来叙述,成功解析的话,下面安装wordpress等cms就会轻松很多.
    nginx本身不能处理PHP,它只是个web服务器,当接收到php请求后发给php解释器处理,nginx一般是把请求发fastcgi管理进程处理,PHP-FPM是一个PHP FastCGI管理器,所以这里得先安装php-fpm.
    安装php-fpm:pkg install php-fpm
    配置php-fpm
    进入proot环境:termux-chroot
    然后编辑配置文件www.conf
    vim /etc/php-fpm.d/www.conf
    定位搜索listen找到
    listen = /data/data/com.termux/files/usr/var/run/php-fpm.sock
    将其改为listen = 127.0.0.1:9000
    配置nginx
    在proot环境下,然后编辑配置文件nginx.conf
    vim /etc/nginx/nginx.conf
    下面给出已经配置好的模板文件,直接编辑替换整个文件即可:
worker_processes 1;
events {
  worker_connections 1024;
}
http {
  include mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 65;
  server {
    listen 8080;
    server_name localhost;
    root /data/data/com.termux/files/usr/share/nginx/html;
    index index.html index.htm;
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
      root /data/data/com.termux/files/usr/share/nginx/html;
    }
    location ~ \.php$ {
      root html;
      fastcgi_pass 127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name;
      include fastcgi_params;
    }
    location /flask/ {
      proxy_pass http://localhost:5000/;
      proxy_redirect default;
      proxy_set_header Host $host;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
  }
}

里面的网站默认路径就是nginx默认的网站根目录:
/data/data/com.termux/files/usr/share/nginx/html
上面的nginx配置使其支持解析PHP文件

  1. MariaDB(MySQL)安装
    pkg install mariadb
    安装基本数据
    mysql_install_db
    启动mariadb服务
    mysqld
    启动mariadb服务
    mysqld
    启动完成后,这个会话就一直存活,类似与debug调试一样,只有新建会话才可以操作.关于隐藏会话可以使用nohup命令和tmux命令,这里我建议使用tmux命令
    修改密码
    输入一下命令,进行密码相关的安全设置:
    mysql_secure_installation
    如果出现ERROR 1698 (28000): Access denied for user 'root'@'localhost'
    解决办法:
    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');
MySQL问题解决
  1. 启动MYSQL总是提示:
    ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
    解决办法:
    登陆mysql
    mysql -p
    Enter password:
    mysql> set password for 'root'@'localhost' =password('');
    mysql> flush privileges;
    mysql> exit;

  2. 提示Access denied for user 'root'@'localhost'
    解决办法:
    mysql -p
    Enter password:
    mysql> grant all privileges on *.* to 'root'@'localhost' identified by '123456' with grant option;
    mysql> flush privileges;
    mysql> exit;

  3. 安全模式启动mysql
    mysqld_safe --skip-grant-tables &

  4. 启动服务提示密码错误
    Access denied for user 'root'@'localhost' (using password: YES)
    在mysql的配置文件/etc/mysql/debian.cnf中改动,配置password部分为自己设置的密码即可

  5. setgid: Operation not permitted
    这个错误是因为/bin/su文件被取消了s位,所以解决方法是 chmod a+s /bin/su

你可能感兴趣的:(手机服务器全纪录)