登录 立即注册

找到10219个回复

老虎会游泳 42楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,这样可以,出的两个错误无关紧要:

cp -rL hu60wap6/src /sdcard

Screenshot_20220201_102536.jpg

老虎会游泳 41楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,哦对了,不打包,用cp -r直接复制到存储卡可能可以,因为cp在目标目录不支持符号连接的时候会复制整个文件。

呃,并不行

Screenshot_20220201_102317_com.termux.jpg

老虎会游泳 40楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,但是,虎绿林程序与ksweb不兼容:
Screenshot_20220201_095720_com.UCMobile.jpg

老虎会游泳 39楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@上善若水,这部分需要修改:

location ~* \.php$ {
  ……
}

改成(路径自己替换。如果想让别人帮忙替换,应该发文字而不是截图):

location ~ [^/]\.php(/|$) {
            root   /data/data/com.termux/files/usr/share/nginx/html;
            fastcgi_pass   unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;

            # parse and set $_SERVER['PATH_INFO']
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
            }
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
        }
上善若水 38楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)
@老虎会游泳,我执行到步骤13然后把hu60wap/src这个目录打包放在ksweb上运行。出现下面这个错误是不是nginx配置也要更改一下。
Screenshot_20220201_043256.jpg
Screenshot_20220201_044405.jpg
Screenshot_20220201_044632.jpg
老虎会游泳 37楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

Linux命令行小知识

cd是什么?

change directory(改变目录)

你可以cd到其他目录看看:

Screenshot_20220201_025659.jpg

..表示上级目录,可以级联,比如../..上两级目录。


为什么不能用start.sh执行脚本,必须用~/start.sh

这是一个安全措施。假设你解压了一个压缩包,想执行ls看看里面有什么,结果别有用心的人往里面放了一个可执行文件ls,一执行是一个勒索病毒,那不就糟了。

所以当你不指定路径时,只会执行在PATH环境变量中列出的那些文件夹里面的可执行文件和脚本。主目录不在PATH环境变量中,所以必须指定路径才能执行。

指定路径有两种方法,一种是绝对路径,无论你cd到了哪里都能执行成功:

~/start.sh

还有一种是相对路径:

./start.sh

你必须先cd到主目录才能执行成功,否则就找不到文件,因为它表示当前目录内的start.sh


PATH环境变量?这是什么?

echo $PATH

Screenshot_20220201_030616.jpg

默认就一个文件夹,但是也可以设置为冒号分隔的多个文件夹。具体就不讲了,你可以自己搜索资料。

老虎会游泳 36楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

Linux命令行小知识

~是什么?

~是主目录的简写。在Termux中,主目录是/data/data/com.termux/files/home,太长了。还好我们可以用~代替。你每写一个~,就相当于写下了/data/data/com.termux/files/home

注意,~不能用在引号中,否则会失去代表主目录的效果,就变成了~字符本身。单引号双引号都不可以。

Screenshot_20220201_025042.jpg

那在引号里面怎么表示主目录?

$HOME代替。注意只能用在双引号里。单引号里不支持任何代替方式,只能写完整路径。

Screenshot_20220201_025441.jpg


为什么你知道主目录是/data/data/com.termux/files/home

图中的三种方法可以确定:

Screenshot_20220201_025235.jpg

老虎会游泳 32楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

如何停止网站?

创建一个停止脚本:

cat > ~/stop.sh <<EOF
# 结束网站进程
killall php-fpm nginx mariadbd

# 等待进程结束
sleep 1

# 检查
pstree
EOF

给执行权限:

chmod +x ~/stop.sh

停止网站:

~/stop.sh

以后每次要停止网站,运行~/stop.sh即可。


问题:为什么是mariadbd

回答1:这是我们从pstree里面看到的进程名称。

回答2:结尾的d表示这是一个守护进程(daemon),很多服务进程都会这么命名,比如httpd、crond。


问题:为什么不用~/../usr/etc/init.d/mysql stop

回答:亲测无效,报错说找不到pid。所以还是用killall吧。


问题:killall会不会导致数据损坏?

不会,因为它并不是强行停止进程,而是给进程发信号要它主动停止运行。所以进程是有机会正常退出的。如果进程真的卡住了,那就算执行了killall也不会退出,你就会知道它卡住了。

如果进程真的卡住了,可以用killall -9 进程名来结束进程,注意这可以导致数据损坏,因为进程没有任何机会正常退出,就算进程没有卡住也没机会。

老虎会游泳 1楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

步骤1,需要由 @老虎会游泳 进行:
修复虎绿林程序和PHP8.1的兼容性问题,并且放弃对PHP5.4的支持(因为修复PHP8.1兼容性问题必然导致和PHP5.4不兼容)。

正在进行中。

艾木友尔尔巴 34楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

@老虎会游泳

特地写给希望自己长胖胖的

小米8(白)

老虎会游泳 33楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

打开Termux自动启动网站

创建好~/run.sh之后,再执行以下命令即可加入自启动:

echo ~/run.sh > ~/.profile

如何测试?

  1. 在通知栏退出Termux会话。

Screenshot_20220201_022428.jpg

  1. 重新打开Termux。

成功自启。

Screenshot_20220201_022519_com.termux.jpg


取消自启:

rm ~/.profile
老虎会游泳 29楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

在个人中心可以看到管理后台

Screenshot_20220201_015350_com.UCMobile.jpg

Screenshot_20220201_015357_com.UCMobile.jpg

创建版块

Screenshot_20220201_015621_com.UCMobile.jpg

发帖

Screenshot_20220201_015733_com.UCMobile.jpg

“你充满警告的样子很美”

Screenshot_20220201_015833_com.UCMobile.jpg

呃,默认待审核了,这不对,我搞错了建表语句里的权限。

老虎会游泳 28楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

新注册的第一个用户会成为管理员。

由于报错影响cookie发送,需要使用防掉线链接登录。

Screenshot_20220201_015230.jpg

老虎会游泳 27楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

步骤16执行完成之后,以下页面就已经能打开了:

http://localhost:8080/q.php/

虽然有很多很多报错,但是已经能看到首页内容了。

明天再修复报错,顺便再介绍一下怎么用git更新代码。

Screenshot_20220201_014632_com.UCMobile.jpg

老虎会游泳 25楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

设置好后台运行之后,把nginx、mysql和php-fpm都启动一下,就可以执行后续步骤了。命令:

# 启动mysql
~/../usr/etc/init.d/mysql start

# 启动nginx
nginx

# 启动php-fpm
php-fpm

请忽略所有报错,报错肯定是因为程序已经在运行。

执行完成后,用pstree检查是否所有组件都在运行。

pstree

这是正确的结果。请忽略上面显示的数字,数字可能是任何值。只要mysqlnginxphp-fpm都出现就可以:

Screenshot_20220201_012140.jpg

老虎会游泳 24楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

如何保持Termux后台运行

@希望自己长胖胖 说,他在进行一系列步骤之后无法访问到8080端口,并且pstree显示nginx退出了。

为什么会发生这种情况?因为安卓会杀后台。

对于华为,需要进行如下设置:

  1. 设置里搜索“自启动”,然后对Termux选“手动管理”,勾选“允许后台活动”。

Screenshot_20220201_010517.jpg

Screenshot_20220201_010524_com.huawei.systemmanager.jpg

  1. 设置里搜索“电池优化”,下拉“不允许”,选择“所有应用”,找到“Termux”,然后选成“不允许”。

Screenshot_20220201_010632.jpg

Screenshot_20220201_010701.jpg

Screenshot_20220201_010751_com.android.settings.jpg

老虎会游泳 22楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

步骤14:确认装好了PHP。

为什么有一堆报错?还记得我说的步骤1吗?虎绿林程序目前用PHP8.1打开就是会有这么多报错。

为了确认你确实装好了PHP,你可以执行以下命令:

echo '<?php phpinfo();' > ~/hu60wap6/src/phpinfo.php

Screenshot_20220201_004007.jpg

然后访问这个地址:

http://localhost:8080/phpinfo.php/path-info/test

Screenshot_20220201_003642_com.UCMobile.jpg

嗯,确实装好了。

但是要想打开虎绿林程序,就只能等我的步骤1完成了。

老虎会游泳 20楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

附件内容,不是步骤

为了防止附件过期,现贴出步骤12中nginx.conf文件的全部内容:


#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       8080;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /data/data/com.termux/files/usr/share/nginx/html;
            index  index.html index.htm index.php;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /data/data/com.termux/files/usr/share/nginx/html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        location ~ [^/]\.php(/|$) {
            root   /data/data/com.termux/files/usr/share/nginx/html;
            fastcgi_pass   unix:/data/data/com.termux/files/usr/var/run/php-fpm.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi_params;

            # parse and set $_SERVER['PATH_INFO']
            set $real_script_name $fastcgi_script_name;
            if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
                set $real_script_name $1;
                set $path_info $2;
            }
            fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
            fastcgi_param SCRIPT_NAME $real_script_name;
            fastcgi_param PATH_INFO $path_info;
        }

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}
老虎会游泳 19楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

步骤12:让nginx支持PHP:

下载 nginx.conf(3.20 KB) 替换原始配置文件,方法如下

# 保留原始配置文件备查
cp ~/../usr/etc/nginx/nginx.conf ~/../usr/etc/nginx/nginx.conf.default

# 替换配置文件
curl https://vkceyugu.cdn.bspapp.com/VKCEYUGU-cc8cf08f-49f5-4fc5-83c3-ed2a683704d4/d1a6a650-c38b-4d66-823b-626655cd068b.conf > ~/../usr/etc/nginx/nginx.conf

# 让nginx重载配置文件
nginx -s reload

Screenshot_20220201_002634.jpg

老虎会游泳 18楼回复 老虎会游泳[连载][初步完结] 在安卓Termux中安装虎绿林网站程序 (2022-02-01//)

步骤11:启动PHP

执行以下命令:

php-fpm

查看php是否启动:

pstree

Screenshot_20220201_002118.jpg

下一页 上一页 (336 / 511页)

11月28日 11:51 星期四

本站由hu60wap6华为CPU驱动

备案号: 京ICP备18041936号-1