diff --git a/__pycache__/nginx_tab.cpython-38.pyc b/__pycache__/nginx_tab.cpython-38.pyc index 6e01f23..c7aba61 100644 Binary files a/__pycache__/nginx_tab.cpython-38.pyc and b/__pycache__/nginx_tab.cpython-38.pyc differ diff --git a/__pycache__/remote_commands_tab.cpython-38.pyc b/__pycache__/remote_commands_tab.cpython-38.pyc index a5e61e9..ab62fac 100644 Binary files a/__pycache__/remote_commands_tab.cpython-38.pyc and b/__pycache__/remote_commands_tab.cpython-38.pyc differ diff --git a/app.log b/app.log index f51447d..be88ddd 100644 --- a/app.log +++ b/app.log @@ -5668,3 +5668,1572 @@ sudo: 1 incorrect password attempt 2025-09-07 14:23:38.289 | INFO | nginx_tab:run:196 - Nginx restart 操作成功 2025-09-07 14:23:38.290 | INFO | nginx_tab:on_control_result:1044 - Nginx服务控制成功: Nginx restart 操作成功 +2025-09-07 20:37:46.957 | INFO | __main__::189 - 启动应用程序 +2025-09-07 20:37:47.017 | INFO | __main__:__init__:17 - 初始化主窗口 +2025-09-07 20:37:47.032 | INFO | __main__:__init__:32 - 设置状态栏显示当前目录: C:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署 +2025-09-07 20:37:47.033 | INFO | server_connection_tab:__init__:14 - 初始化服务器连接标签页 +2025-09-07 20:37:47.046 | INFO | server_connection_tab:init_ui:93 - 服务器连接标签页UI初始化完成 +2025-09-07 20:37:47.047 | INFO | server_connection_tab:load_config:96 - 加载配置文件 +2025-09-07 20:37:47.048 | INFO | server_connection_tab:load_config:103 - 成功加载配置文件: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 20:37:47.052 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: 测试机 +2025-09-07 20:37:47.057 | INFO | remote_commands_tab:__init__:151 - 初始化远程命令标签页 +2025-09-07 20:37:47.064 | INFO | remote_commands_tab:init_ui:290 - 远程命令标签页UI初始化完成 +2025-09-07 20:37:47.067 | INFO | __main__:__init__:57 - 主窗口初始化完成 +2025-09-07 20:37:48.249 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:37:48.345 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:38:05.377 | INFO | server_connection_tab:save_config:155 - 保存配置 +2025-09-07 20:38:05.379 | INFO | server_connection_tab:save_config:181 - 配置已保存到: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 20:38:18.934 | INFO | server_connection_tab:add_new_alias:134 - 添加新别名 +2025-09-07 20:38:18.937 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: statuspage生产机 +2025-09-07 20:38:18.938 | INFO | server_connection_tab:add_new_alias:152 - 已添加新别名: statuspage生产机 +2025-09-07 20:38:23.213 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:38:23.297 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:38:24.979 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 20:38:24.979 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 20:38:26.075 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 20:38:26.075 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 20:38:33.162 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 20:38:33.163 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 20:38:34.992 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:38:34.993 | INFO | remote_commands_tab:set_ssh_client:313 - 设置SSH客户端 +2025-09-07 20:38:34.994 | INFO | remote_commands_tab:refresh_directory:476 - 刷新目录列表 +2025-09-07 20:38:34.994 | INFO | remote_commands_tab:refresh_directory:488 - 使用用户输入目录: ~ +2025-09-07 20:38:34.996 | INFO | __main__:on_tab_changed:105 - 状态栏更新为远程服务器: statuspage生产机, 目录: ~ +2025-09-07 20:38:34.996 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd ~ && pwd && ls -la +2025-09-07 20:38:35.007 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:38:35.007 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:38:35.054 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: /home/xiaji +2025-09-07 20:38:35.057 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: total 84 +2025-09-07 20:38:35.058 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:38:35.058 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd ~ && pwd && ls -la +2025-09-07 20:38:35.058 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:38:35.059 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:38:35.059 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:38:35.059 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:38:35.060 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:38:35.060 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:38:35.061 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:38:35.061 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:38:35.061 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxrwxr-x 10 xiaji www-data 4096 Sep 7 10:10 webstatus +2025-09-07 20:38:35.061 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:38:35.062 | INFO | remote_commands_tab:on_dir_refresh_finished:508 - 目录列表刷新成功 +2025-09-07 20:38:40.308 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 0 +2025-09-07 20:38:42.891 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: 测试机 +2025-09-07 20:39:05.040 | INFO | server_connection_tab:add_new_alias:134 - 添加新别名 +2025-09-07 20:39:05.040 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: statuspage +2025-09-07 20:39:05.041 | INFO | server_connection_tab:add_new_alias:152 - 已添加新别名: statuspage +2025-09-07 20:39:06.167 | INFO | server_connection_tab:save_config:155 - 保存配置 +2025-09-07 20:39:06.168 | INFO | server_connection_tab:save_config:181 - 配置已保存到: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 20:39:12.563 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:39:12.648 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:39:15.648 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:39:15.648 | INFO | remote_commands_tab:set_ssh_client:313 - 设置SSH客户端 +2025-09-07 20:39:15.649 | INFO | remote_commands_tab:set_server_config:348 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:39:15.649 | INFO | remote_commands_tab:refresh_directory:476 - 刷新目录列表 +2025-09-07 20:39:15.649 | INFO | remote_commands_tab:refresh_directory:488 - 使用用户输入目录: /home/xiaji +2025-09-07 20:39:15.650 | INFO | remote_commands_tab:set_server_info:294 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:39:15.650 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: statuspage: /home/xiaji +2025-09-07 20:39:15.650 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:39:15.658 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:39:15.663 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:39:15.709 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: /home/xiaji +2025-09-07 20:39:15.711 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: total 84 +2025-09-07 20:39:15.711 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:39:15.711 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:39:15.712 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:39:15.713 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:39:15.713 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:39:15.713 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:39:15.714 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:39:15.714 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:39:15.714 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:39:15.715 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:39:15.715 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxrwxr-x 10 xiaji www-data 4096 Sep 7 10:10 webstatus +2025-09-07 20:39:15.715 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:39:15.715 | INFO | remote_commands_tab:on_dir_refresh_finished:508 - 目录列表刷新成功 +2025-09-07 20:39:22.544 | INFO | remote_commands_tab:clone_repository:400 - 克隆仓库 +2025-09-07 20:39:22.547 | INFO | remote_commands_tab:run:53 - 执行远程命令: mkdir -p /home/xiaji && cd /home/xiaji && git clone --verbose http://192.168.3.241:3000/xiaji/webstatus.git +2025-09-07 20:39:22.557 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:39:22.622 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 128 +2025-09-07 20:40:43.081 | INFO | __main__::189 - 启动应用程序 +2025-09-07 20:40:43.106 | INFO | __main__:__init__:17 - 初始化主窗口 +2025-09-07 20:40:43.111 | INFO | __main__:__init__:32 - 设置状态栏显示当前目录: C:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署 +2025-09-07 20:40:43.112 | INFO | server_connection_tab:__init__:14 - 初始化服务器连接标签页 +2025-09-07 20:40:43.115 | INFO | server_connection_tab:init_ui:93 - 服务器连接标签页UI初始化完成 +2025-09-07 20:40:43.115 | INFO | server_connection_tab:load_config:96 - 加载配置文件 +2025-09-07 20:40:43.116 | INFO | server_connection_tab:load_config:103 - 成功加载配置文件: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 20:40:43.116 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: 测试机 +2025-09-07 20:40:43.118 | INFO | remote_commands_tab:__init__:151 - 初始化远程命令标签页 +2025-09-07 20:40:43.119 | INFO | remote_commands_tab:init_ui:295 - 远程命令标签页UI初始化完成 +2025-09-07 20:40:43.122 | INFO | __main__:__init__:57 - 主窗口初始化完成 +2025-09-07 20:40:49.346 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:40:49.434 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:40:51.976 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: statuspage +2025-09-07 20:40:52.745 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:40:52.831 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:40:54.342 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:40:54.342 | INFO | remote_commands_tab:set_ssh_client:318 - 设置SSH客户端 +2025-09-07 20:40:54.343 | INFO | remote_commands_tab:set_server_config:353 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:40:54.343 | INFO | remote_commands_tab:refresh_directory:515 - 刷新目录列表 +2025-09-07 20:40:54.343 | INFO | remote_commands_tab:refresh_directory:527 - 使用用户输入目录: /home/xiaji +2025-09-07 20:40:54.344 | INFO | remote_commands_tab:set_server_info:299 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:40:54.344 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: statuspage: /home/xiaji +2025-09-07 20:40:54.345 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:40:54.352 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:40:54.353 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:40:54.401 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: /home/xiaji +2025-09-07 20:40:54.402 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:40:54.403 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: total 84 +2025-09-07 20:40:54.403 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:40:54.404 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:40:54.404 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:40:54.404 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:40:54.405 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:40:54.405 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:40:54.405 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:40:54.405 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:40:54.406 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:40:54.406 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: drwxrwxr-x 10 xiaji www-data 4096 Sep 7 10:10 webstatus +2025-09-07 20:40:54.406 | INFO | remote_commands_tab:append_dir_output:541 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:40:54.406 | INFO | remote_commands_tab:on_dir_refresh_finished:547 - 目录列表刷新成功 +2025-09-07 20:40:59.410 | INFO | remote_commands_tab:pull_repository:435 - 拉取仓库更新 +2025-09-07 20:40:59.412 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 20:40:59.431 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:40:59.568 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 20:42:04.901 | INFO | __main__::189 - 启动应用程序 +2025-09-07 20:42:04.923 | INFO | __main__:__init__:17 - 初始化主窗口 +2025-09-07 20:42:04.929 | INFO | __main__:__init__:32 - 设置状态栏显示当前目录: C:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署 +2025-09-07 20:42:04.929 | INFO | server_connection_tab:__init__:14 - 初始化服务器连接标签页 +2025-09-07 20:42:04.931 | INFO | server_connection_tab:init_ui:93 - 服务器连接标签页UI初始化完成 +2025-09-07 20:42:04.931 | INFO | server_connection_tab:load_config:96 - 加载配置文件 +2025-09-07 20:42:04.931 | INFO | server_connection_tab:load_config:103 - 成功加载配置文件: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 20:42:04.932 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: 测试机 +2025-09-07 20:42:04.933 | INFO | remote_commands_tab:__init__:151 - 初始化远程命令标签页 +2025-09-07 20:42:04.934 | INFO | remote_commands_tab:init_ui:299 - 远程命令标签页UI初始化完成 +2025-09-07 20:42:04.937 | INFO | __main__:__init__:57 - 主窗口初始化完成 +2025-09-07 20:42:08.158 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: statuspage +2025-09-07 20:42:09.322 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:42:09.416 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:42:11.041 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:42:11.041 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:42:11.042 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:42:11.042 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:42:11.042 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:42:11.043 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:42:11.044 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: statuspage: /home/xiaji +2025-09-07 20:42:11.044 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:42:11.052 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:42:11.053 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:42:11.102 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:42:11.104 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:42:11.105 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:42:11.106 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:42:11.107 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:42:11.109 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:42:11.109 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:42:11.110 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:42:11.110 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:42:11.110 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:42:11.111 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:42:11.111 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:42:11.111 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 10 xiaji www-data 4096 Sep 7 10:10 webstatus +2025-09-07 20:42:11.111 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:42:11.112 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:42:14.347 | INFO | remote_commands_tab:handle_local_changes:473 - 处理本地更改 +2025-09-07 20:42:20.207 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus && git reset --hard HEAD && git clean -fd +2025-09-07 20:42:20.216 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:42:20.279 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus && git reset --hard HEAD && git clean -fd +2025-09-07 20:42:20.283 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 20:42:20.328 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:42:20.413 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 20:42:22.864 | INFO | remote_commands_tab:pull_repository:439 - 拉取仓库更新 +2025-09-07 20:42:22.866 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 20:42:22.874 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:42:22.948 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 20:43:08.156 | INFO | __main__::189 - 启动应用程序 +2025-09-07 20:43:08.183 | INFO | __main__:__init__:17 - 初始化主窗口 +2025-09-07 20:43:08.187 | INFO | __main__:__init__:32 - 设置状态栏显示当前目录: C:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署 +2025-09-07 20:43:08.188 | INFO | server_connection_tab:__init__:14 - 初始化服务器连接标签页 +2025-09-07 20:43:08.191 | INFO | server_connection_tab:init_ui:93 - 服务器连接标签页UI初始化完成 +2025-09-07 20:43:08.191 | INFO | server_connection_tab:load_config:96 - 加载配置文件 +2025-09-07 20:43:08.191 | INFO | server_connection_tab:load_config:103 - 成功加载配置文件: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 20:43:08.192 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: 测试机 +2025-09-07 20:43:08.194 | INFO | remote_commands_tab:__init__:151 - 初始化远程命令标签页 +2025-09-07 20:43:08.195 | INFO | remote_commands_tab:init_ui:299 - 远程命令标签页UI初始化完成 +2025-09-07 20:43:08.198 | INFO | __main__:__init__:57 - 主窗口初始化完成 +2025-09-07 20:43:10.818 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:43:10.818 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:43:10.819 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:43:10.819 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:43:12.048 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:43:12.048 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 20:43:12.854 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 0 +2025-09-07 20:43:15.083 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:43:15.173 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:43:17.199 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:43:17.199 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:43:17.200 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:43:17.200 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:43:17.200 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:43:17.200 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:43:17.201 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 20:43:17.201 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:43:17.210 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:43:17.211 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:43:17.263 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:43:17.266 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:43:17.266 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:43:17.266 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:43:17.267 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:43:17.267 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:43:17.267 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:43:17.268 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:43:17.268 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:43:17.269 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:43:17.269 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:43:17.269 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:43:17.269 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 5 xiaji www-data 4096 Sep 7 20:42 webstatus +2025-09-07 20:43:17.271 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:43:17.271 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:43:23.385 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4 +2025-09-07 20:43:23.385 | INFO | nginx_tab:set_ssh_client:561 - Nginx标签页已设置SSH客户端 +2025-09-07 20:43:23.385 | INFO | nginx_tab:set_username:566 - Nginx标签页已设置用户名: xiaji +2025-09-07 20:43:23.386 | INFO | nginx_tab:set_project_info:572 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157 +2025-09-07 20:43:23.388 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage +2025-09-07 20:43:27.831 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: configtest +2025-09-07 20:43:27.858 | INFO | nginx_tab:run:196 - Nginx configtest 操作成功 +2025-09-07 20:43:31.928 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: restart +2025-09-07 20:43:37.017 | INFO | nginx_tab:run:196 - Nginx restart 操作成功 +2025-09-07 20:43:37.020 | INFO | nginx_tab:on_control_result:1044 - Nginx服务控制成功: Nginx restart 操作成功 + +2025-09-07 20:43:48.470 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: status +2025-09-07 20:43:48.501 | INFO | nginx_tab:run:196 - Nginx status 操作成功 +2025-09-07 20:43:48.504 | INFO | nginx_tab:on_control_result:1044 - Nginx服务控制成功: Nginx status 操作成功 +● nginx.service - A high performance web server and a reverse proxy server + Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled) + Active: active (running) since Sun 2025-09-07 20:43:35 CST; 11s ago + Invocation: 7eca85c41a974e028ef66174d1652cc1 + Docs: man:nginx(8) + Process: 5708 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Process: 5710 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Main PID: 5711 (nginx) + Tasks: 3 (limit: 1844) + Memory: 2.8M (peak: 3.3M) + CPU: 24ms + CGroup: /system.slice/nginx.service + ├─5711 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" + ├─5712 "nginx: worker process" + └─5713 "nginx: worker process" + +Sep 07 20:43:35 statuspage systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server... +Sep 07 20:43:35 statuspage systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server. + +2025-09-07 20:47:24.250 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:47:24.251 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:47:24.251 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:47:24.251 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:47:24.252 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:47:24.252 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:47:24.252 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 20:47:24.252 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:47:24.263 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:47:24.263 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:47:24.314 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:47:24.317 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:47:24.317 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:47:24.318 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:47:24.318 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:47:24.319 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:47:24.319 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:47:24.319 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:47:24.320 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:47:24.320 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:47:24.320 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:47:24.321 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:47:24.321 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 5 xiaji www-data 4096 Sep 7 20:42 webstatus +2025-09-07 20:47:24.322 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:47:24.322 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:47:31.705 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 20:47:31.706 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 20:47:34.312 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo tail /var/log/nginx/error.log +2025-09-07 20:47:34.320 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:47:34.367 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 20:47:34.384 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo tail /var/log/nginx/error.log +2025-09-07 20:48:10.882 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 20:48:10.882 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 20:48:10.882 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 20:48:10.883 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 20:48:10.883 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 20:48:10.884 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 20:48:10.884 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 20:48:28.086 | INFO | gunicorn_tab:run:561 - 开始设置服务器时区为Asia/Shanghai +2025-09-07 20:48:28.169 | INFO | gunicorn_tab:run:572 - 开始重启服务器 +2025-09-07 20:48:28.219 | INFO | gunicorn_tab:run:576 - 时区设置成功,服务器正在重启 +2025-09-07 20:48:28.219 | INFO | gunicorn_tab:on_server_control_result:1157 - 服务器控制成功: 时区设置成功,服务器正在重启 +2025-09-07 20:48:40.782 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 20:48:40.783 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 20:48:40.783 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 20:48:40.784 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 20:48:42.474 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:42.475 | ERROR | django_threads:run:218 - 执行命令时出错: SSH session not active +2025-09-07 20:48:42.477 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:42.477 | ERROR | django_threads:run:218 - 执行命令时出错: SSH session not active +2025-09-07 20:48:42.479 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 20:48:45.490 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:45.490 | ERROR | django_threads:run:218 - 执行命令时出错: SSH session not active +2025-09-07 20:48:45.492 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:45.494 | ERROR | django_threads:run:218 - 执行命令时出错: SSH session not active +2025-09-07 20:48:45.495 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 20:48:48.269 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 0 +2025-09-07 20:48:49.737 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 20:48:49.878 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 20:48:51.594 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:48:51.594 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:48:51.595 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:48:51.595 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:48:51.595 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:48:51.595 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:48:51.595 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 20:48:51.596 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:48:51.604 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:48:51.605 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:48:51.654 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:48:51.656 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:48:51.657 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:48:51.659 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:48:51.659 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:48:51.660 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:48:51.660 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:48:51.661 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:48:51.661 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:48:51.662 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:48:51.662 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:48:51.663 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:48:51.663 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 20:48:51.663 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:48:51.664 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:48:52.380 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 20:48:52.380 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 20:48:52.381 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 20:48:52.381 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 20:48:53.270 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:53.293 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 20:48:53.294 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 20:48:53.294 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:53.296 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:53.344 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:53.345 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 20:48:56.514 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:56.523 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 20:48:56.524 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 20:48:56.524 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:56.525 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:56.575 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:56.576 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 20:48:58.892 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:58.902 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 20:48:58.902 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 20:48:58.902 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 20:48:58.904 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:58.955 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 20:48:58.956 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 20:49:05.223 | INFO | django_threads:run:86 - 执行Django命令: pip3 list | grep Django +2025-09-07 20:49:05.232 | ERROR | django_threads:run:205 - 命令错误: bash: line 1: pip3: command not found +2025-09-07 20:49:05.233 | ERROR | django_threads:run:214 - 命令执行失败,退出状态: 1 +2025-09-07 20:49:05.234 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 20:49:08.498 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 20:49:08.499 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 20:49:08.499 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 20:49:08.499 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 20:49:08.499 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 20:49:08.501 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 20:49:08.501 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 20:49:13.509 | INFO | gunicorn_tab:run:168 - 开始测试Gunicorn,使用的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 20:49:13.509 | INFO | gunicorn_tab:run:171 - 检查项目目录结构... +2025-09-07 20:49:13.518 | INFO | gunicorn_tab:run:176 - 项目目录内容: total 24 +drwxrwxr-x 3 xiaji www-data 4096 Sep 7 20:42 . +drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 .. +-rw-rw-r-- 1 xiaji xiaji 397 Sep 7 20:42 asgi.py +-rw-rw-r-- 1 xiaji xiaji 0 Sep 7 20:42 __init__.py +drwxrwxr-x 2 xiaji www-data 4096 Sep 7 20:42 __pycache__ +-rw-rw-r-- 1 xiaji xiaji 859 Sep 7 20:42 urls.py +-rw-rw-r-- 1 xiaji xiaji 397 Sep 7 20:42 wsgi.py + +2025-09-07 20:49:13.569 | INFO | gunicorn_tab:run:185 - 找到的manage.py文件: /home/xiaji/webstatus/manage.py + +2025-09-07 20:49:13.570 | INFO | gunicorn_tab:run:193 - manage.py所在目录: /home/xiaji/webstatus +2025-09-07 20:49:13.618 | INFO | gunicorn_tab:run:200 - manage.py所在目录内容: total 188 +drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 . +drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 .. +-rw-rw-r-- 1 xiaji xiaji 155648 Sep 7 20:42 db.sqlite3 +drwxrwxr-x 8 xiaji www-data 4096 Sep 7 20:42 .git +-rw-rw-r-- 1 xiaji xiaji 225 Sep 7 20:42 .gitignore +-rw-rw-r-- 1 xiaji xiaji 666 Sep 7 20:42 manage.py +-rw-rw-r-- 1 xiaji xiaji 55 Sep 7 20:42 requirements.txt +drwxr-xr-x 2 xiaji xiaji 4096 Sep 8 2025 sock +drwxrwxr-x 5 xiaji www-data 4096 Sep 7 20:42 status +drwxrwxr-x 3 xiaji www-data 4096 Sep 7 20:42 statuspage + +2025-09-07 20:49:13.671 | INFO | gunicorn_tab:run:209 - 找到的wsgi.py文件: /home/xiaji/webstatus/statuspage/wsgi.py + +2025-09-07 20:49:13.722 | INFO | gunicorn_tab:run:218 - 找到的settings.py文件: +2025-09-07 20:49:13.723 | INFO | gunicorn_tab:run:239 - 尝试使用manage.py所在目录作为工作目录: /home/xiaji/webstatus +2025-09-07 20:49:13.776 | INFO | gunicorn_tab:run:249 - 找到项目子目录,尝试使用该目录运行Gunicorn: /home/xiaji/webstatus/statuspage +2025-09-07 20:49:13.777 | INFO | gunicorn_tab:run:259 - 执行Gunicorn测试命令: cd /home/xiaji/webstatus && bash -c 'echo "xiaji" | sudo -S gunicorn --pythonpath /home/xiaji/webstatus statuspage.wsgi:application --bind 0.0.0.0:8000' & +2025-09-07 20:49:14.199 | INFO | gunicorn_tab:run:265 - Gunicorn启动输出: +2025-09-07 20:49:14.201 | ERROR | gunicorn_tab:run:267 - Gunicorn启动错误: [sudo] password for xiaji: [2025-09-07 20:49:12 +0800] [1310] [INFO] Starting gunicorn 23.0.0 +[2025-09-07 20:49:12 +0800] [1310] [INFO] Listening at: http://0.0.0.0:8000 (1310) +[2025-09-07 20:49:12 +0800] [1310] [INFO] Using worker: sync +[2025-09-07 20:49:12 +0800] [1311] [INFO] Booting worker with pid: 1311 +[2025-09-07 20:49:12 +0800] [1311] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 19, in setup + configure_logging(settings.LOGGING_CONFIG, settings.LOGGING) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 102, in __getattr__ + self._setup(name) + File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 89, in _setup + self._wrapped = Settings(settings_module) + ^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/conf/__init__.py", line 217, in __init__ + mod = importlib.import_module(self.SETTINGS_MODULE) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'statuspage.settings' +[2025-09-07 20:49:12 +0800] [1311] [INFO] Worker exiting (pid: 1311) +[2025-09-07 20:49:12 +0800] [1310] [ERROR] Worker (pid:1311) exited with code 3 +[2025-09-07 20:49:12 +0800] [1310] [ERROR] Shutting down: Master +[2025-09-07 20:49:12 +0800] [1310] [ERROR] Reason: Worker failed to boot. + +2025-09-07 20:49:14.203 | INFO | gunicorn_tab:run:270 - 等待Gunicorn启动... +2025-09-07 20:49:17.218 | INFO | gunicorn_tab:run:274 - 检查Gunicorn进程状态... +2025-09-07 20:49:17.241 | INFO | gunicorn_tab:run:277 - Gunicorn进程检查结果: xiaji 1314 0.0 0.2 7432 3620 ? Ss 20:49 0:00 bash -c ps aux | grep gunicorn +xiaji 1316 0.0 0.1 6620 2356 ? S 20:49 0:00 grep gunicorn + +2025-09-07 20:49:17.243 | ERROR | gunicorn_tab:run:293 - Gunicorn测试运行失败 +2025-09-07 20:49:17.244 | ERROR | gunicorn_tab:on_test_result:878 - Gunicorn测试失败: Gunicorn测试运行失败 +2025-09-07 20:49:38.268 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4 +2025-09-07 20:49:38.268 | INFO | nginx_tab:set_ssh_client:561 - Nginx标签页已设置SSH客户端 +2025-09-07 20:49:38.269 | INFO | nginx_tab:set_username:566 - Nginx标签页已设置用户名: xiaji +2025-09-07 20:49:38.269 | INFO | nginx_tab:set_project_info:572 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157 +2025-09-07 20:49:38.272 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage +2025-09-07 20:49:41.236 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 20:49:41.237 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 20:49:41.237 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 20:49:41.237 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 20:49:41.238 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 20:49:41.239 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 20:49:41.239 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 20:49:54.037 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:49:54.038 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:49:54.038 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:49:54.039 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:49:54.039 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:49:54.039 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:49:54.039 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 20:49:54.040 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:49:54.046 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:49:54.048 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:49:54.096 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:49:54.098 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:49:54.098 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:49:54.099 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:49:54.099 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:49:54.100 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:49:54.100 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:49:54.101 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:49:54.101 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:49:54.102 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:49:54.102 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:49:54.102 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:49:54.103 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 20:49:54.103 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:49:54.103 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:49:57.671 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:49:57.671 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:49:57.673 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:49:57.682 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:49:57.682 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:49:57.730 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:49:57.731 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:49:57.732 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:49:57.732 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:49:57.733 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:49:57.734 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:49:57.734 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:49:57.734 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:49:57.735 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:49:57.735 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:49:57.735 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:49:57.736 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:49:57.736 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 20:49:57.736 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:49:57.737 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:50:09.814 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:50:09.814 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji/webstatus +2025-09-07 20:50:09.815 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus && pwd && ls -la +2025-09-07 20:50:09.822 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:50:09.822 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:50:09.874 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji/webstatus +2025-09-07 20:50:09.875 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus && pwd && ls -la +2025-09-07 20:50:09.875 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 188 +2025-09-07 20:50:09.876 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 . +2025-09-07 20:50:09.876 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 .. +2025-09-07 20:50:09.877 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 155648 Sep 7 20:42 db.sqlite3 +2025-09-07 20:50:09.877 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 8 xiaji www-data 4096 Sep 7 20:42 .git +2025-09-07 20:50:09.878 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 225 Sep 7 20:42 .gitignore +2025-09-07 20:50:09.878 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 666 Sep 7 20:42 manage.py +2025-09-07 20:50:09.878 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 55 Sep 7 20:42 requirements.txt +2025-09-07 20:50:09.879 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 2 xiaji xiaji 4096 Sep 8 2025 sock +2025-09-07 20:50:09.879 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 5 xiaji www-data 4096 Sep 7 20:42 status +2025-09-07 20:50:09.879 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji www-data 4096 Sep 7 20:42 statuspage +2025-09-07 20:50:09.880 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:50:18.440 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:50:18.440 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji/webstatus/statuspage +2025-09-07 20:50:18.441 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus/statuspage && pwd && ls -la +2025-09-07 20:50:18.448 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:50:18.449 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:50:18.499 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji/webstatus/statuspage +2025-09-07 20:50:18.499 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 24 +2025-09-07 20:50:18.500 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus/statuspage && pwd && ls -la +2025-09-07 20:50:18.500 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji www-data 4096 Sep 7 20:42 . +2025-09-07 20:50:18.500 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 .. +2025-09-07 20:50:18.501 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 397 Sep 7 20:42 asgi.py +2025-09-07 20:50:18.501 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 0 Sep 7 20:42 __init__.py +2025-09-07 20:50:18.502 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 2 xiaji www-data 4096 Sep 7 20:49 __pycache__ +2025-09-07 20:50:18.502 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 859 Sep 7 20:42 urls.py +2025-09-07 20:50:18.502 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 397 Sep 7 20:42 wsgi.py +2025-09-07 20:50:18.503 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:50:57.421 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 20:50:57.422 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 20:50:57.422 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 20:50:57.423 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 20:55:15.499 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 20:55:15.500 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 20:55:15.501 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 20:55:15.502 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 20:55:15.502 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 20:55:15.502 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 20:55:15.503 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 20:55:15.503 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 20:55:15.512 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:55:15.512 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 20:55:15.565 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 20:55:15.566 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 20:55:15.566 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 20:55:15.567 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 20:55:15.568 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 20:55:15.569 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 20:55:15.569 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 20:55:15.569 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 20:55:15.570 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 20:55:15.570 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 20:55:15.571 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 20:55:15.571 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 20:55:15.572 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 20:55:15.572 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 20:55:15.572 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 20:55:28.554 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 20:55:28.554 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 20:55:32.586 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo ls -al /tmp/ +2025-09-07 20:55:32.593 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:55:32.642 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 20:55:32.656 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo ls -al /tmp/ +2025-09-07 20:56:25.012 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 20:56:25.013 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 20:56:27.413 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo find / -name "settings.py" 2>/dev/null +2025-09-07 20:56:27.421 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 20:56:27.470 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 20:56:29.126 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo find / -name "settings.py" 2>/dev/null +2025-09-07 21:54:45.910 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 21:54:45.911 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 21:54:45.911 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 21:54:45.911 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 21:54:46.778 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 21:54:46.792 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 21:54:46.793 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 21:54:46.793 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 21:54:46.794 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 21:54:46.844 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 21:54:46.845 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 21:54:57.326 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 21:54:57.327 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 21:54:57.327 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 21:54:57.327 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 21:54:57.327 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 21:54:57.329 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 21:54:57.329 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 21:54:59.989 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 21:54:59.989 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 21:54:59.990 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 21:54:59.990 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 21:54:59.990 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 21:54:59.991 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 21:54:59.991 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 21:54:59.991 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 21:55:00.000 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:55:00.000 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 21:55:00.049 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 21:55:00.051 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 21:55:00.051 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 21:55:00.052 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 21:55:00.052 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 21:55:00.053 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 21:55:00.053 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 21:55:00.053 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 21:55:00.054 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 21:55:00.054 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 21:55:00.054 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 21:55:00.056 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 21:55:00.056 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 21:55:00.057 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 21:55:00.057 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 21:55:01.646 | INFO | remote_commands_tab:pull_repository:439 - 拉取仓库更新 +2025-09-07 21:55:01.648 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 21:55:01.658 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:55:01.786 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus && git pull --verbose +2025-09-07 21:55:04.769 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 21:55:04.770 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 21:55:04.770 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 21:55:04.770 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 21:55:06.071 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 21:55:06.081 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 21:55:06.082 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 21:55:06.082 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 21:55:06.083 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 21:55:06.135 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 21:55:06.135 | INFO | django_tab:process_settings_py_result:315 - 找到settings.py文件: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 21:55:06.136 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 21:55:06.138 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 21:55:15.366 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 21:55:15.366 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 21:55:15.366 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 21:55:15.367 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 21:55:15.367 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 21:55:15.368 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 21:55:15.368 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 21:55:19.414 | INFO | gunicorn_tab:run:561 - 开始设置服务器时区为Asia/Shanghai +2025-09-07 21:55:19.515 | INFO | gunicorn_tab:run:572 - 开始重启服务器 +2025-09-07 21:55:19.562 | INFO | gunicorn_tab:run:576 - 时区设置成功,服务器正在重启 +2025-09-07 21:55:19.562 | INFO | gunicorn_tab:on_server_control_result:1157 - 服务器控制成功: 时区设置成功,服务器正在重启 +2025-09-07 21:55:34.229 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 0 +2025-09-07 21:55:35.150 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 21:55:35.289 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 21:55:37.025 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 21:55:37.026 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 21:55:37.026 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 21:55:37.027 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 21:55:37.027 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 21:55:37.027 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 21:55:37.027 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 21:55:37.028 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 21:55:37.036 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:55:37.037 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 21:55:37.086 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 21:55:37.087 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 21:55:37.088 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 21:55:37.088 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 21:55:37.089 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 21:55:37.089 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 21:55:37.090 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 21:55:37.090 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 21:55:37.090 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 21:55:37.090 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 21:55:37.091 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 21:55:37.091 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 21:55:37.091 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 04:29 webstatus +2025-09-07 21:55:37.093 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 21:55:37.093 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 21:55:38.438 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 21:55:38.438 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 21:55:38.438 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 21:55:38.438 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 21:55:39.766 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4 +2025-09-07 21:55:39.766 | INFO | nginx_tab:set_ssh_client:561 - Nginx标签页已设置SSH客户端 +2025-09-07 21:55:39.767 | INFO | nginx_tab:set_username:566 - Nginx标签页已设置用户名: xiaji +2025-09-07 21:55:39.767 | INFO | nginx_tab:set_project_info:572 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157 +2025-09-07 21:55:39.770 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage +2025-09-07 21:55:43.226 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: status +2025-09-07 21:55:43.266 | INFO | nginx_tab:run:196 - Nginx status 操作成功 +2025-09-07 21:55:43.267 | INFO | nginx_tab:on_control_result:1044 - Nginx服务控制成功: Nginx status 操作成功 +● nginx.service - A high performance web server and a reverse proxy server + Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; preset: enabled) + Active: active (running) since Mon 2025-09-08 05:36:43 CST; 14s ago + Invocation: eb3e2b2a997a4f23b0a85761bd8d7cd5 + Docs: man:nginx(8) + Process: 1083 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Process: 1089 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Main PID: 1096 (nginx) + Tasks: 3 (limit: 1844) + Memory: 4.4M (peak: 4.9M) + CPU: 26ms + CGroup: /system.slice/nginx.service + ├─1096 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" + ├─1097 "nginx: worker process" + └─1098 "nginx: worker process" + +Sep 08 05:36:43 statuspage systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server... +Sep 08 05:36:43 statuspage systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server. + +2025-09-07 21:55:48.452 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 21:55:48.452 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 21:55:48.452 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 21:55:48.452 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 21:55:48.453 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 21:55:48.454 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 21:55:48.454 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 21:55:52.917 | INFO | gunicorn_tab:on_control_result:1127 - Gunicorn服务控制成功: Gunicorn服务状态查询成功: gunicorn_statuspage +× gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project + Loaded: loaded (/etc/systemd/system/gunicorn_statuspage.service; enabled; preset: enabled) + Active: failed (Result: exit-code) since Mon 2025-09-08 05:36:42 CST; 25s ago + Duration: 508ms + Invocation: 7d9e6441344e4ea59a72a480a2304fd3 + Process: 910 ExecStartPre=/bin/rm -f /home/xiaji/webstatus/sock/gunicorn.sock (code=exited, status=0/SUCCESS) + Process: 929 ExecStartPre=/bin/mkdir -p /home/xiaji/webstatus/sock (code=exited, status=0/SUCCESS) + Process: 947 ExecStart=/usr/bin/gunicorn --pythonpath /home/xiaji/webstatus --workers 3 --bind unix:/home/xiaji/webstatus/sock/gunicorn.sock --access-logfile /home/xiaji/webstatus/logs/gunicorn_access.log --error-logfile /home/xiaji/webstatus/logs/gunicorn_error.log statuspage.wsgi:application (code=exited, status=1/FAILURE) + Main PID: 947 (code=exited, status=1/FAILURE) + Mem peak: 24M + CPU: 165ms + +Sep 07 21:55:25 statuspage systemd[1]: Starting gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project... +Sep 08 05:36:41 statuspage systemd[1]: Started gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project. +Sep 08 05:36:42 statuspage gunicorn[947]: Error: Error: '/home/xiaji/webstatus/logs/gunicorn_error.log' isn't writable [FileNotFoundError(2, 'No such file or directory')] +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Main process exited, code=exited, status=1/FAILURE +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Failed with result 'exit-code'. + +2025-09-07 21:55:52.917 | INFO | gunicorn_tab:run:388 - Gunicorn服务状态查询成功: gunicorn_statuspage +× gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project + Loaded: loaded (/etc/systemd/system/gunicorn_statuspage.service; enabled; preset: enabled) + Active: failed (Result: exit-code) since Mon 2025-09-08 05:36:42 CST; 25s ago + Duration: 508ms + Invocation: 7d9e6441344e4ea59a72a480a2304fd3 + Process: 910 ExecStartPre=/bin/rm -f /home/xiaji/webstatus/sock/gunicorn.sock (code=exited, status=0/SUCCESS) + Process: 929 ExecStartPre=/bin/mkdir -p /home/xiaji/webstatus/sock (code=exited, status=0/SUCCESS) + Process: 947 ExecStart=/usr/bin/gunicorn --pythonpath /home/xiaji/webstatus --workers 3 --bind unix:/home/xiaji/webstatus/sock/gunicorn.sock --access-logfile /home/xiaji/webstatus/logs/gunicorn_access.log --error-logfile /home/xiaji/webstatus/logs/gunicorn_error.log statuspage.wsgi:application (code=exited, status=1/FAILURE) + Main PID: 947 (code=exited, status=1/FAILURE) + Mem peak: 24M + CPU: 165ms + +Sep 07 21:55:25 statuspage systemd[1]: Starting gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project... +Sep 08 05:36:41 statuspage systemd[1]: Started gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project. +Sep 08 05:36:42 statuspage gunicorn[947]: Error: Error: '/home/xiaji/webstatus/logs/gunicorn_error.log' isn't writable [FileNotFoundError(2, 'No such file or directory')] +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Main process exited, code=exited, status=1/FAILURE +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Failed with result 'exit-code'. + +2025-09-07 21:57:08.532 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 21:57:08.532 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 21:57:08.533 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 21:57:08.533 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 21:57:08.533 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 21:57:08.533 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 21:57:08.534 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 21:57:08.534 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 21:57:08.545 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:57:08.545 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 21:57:08.595 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 21:57:08.596 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 21:57:08.596 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 21:57:08.597 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 21:57:08.598 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 21:57:08.598 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 21:57:08.598 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 21:57:08.598 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 21:57:08.599 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 21:57:08.599 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 21:57:08.599 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 21:57:08.599 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 21:57:08.600 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 21:57:08.600 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 21:57:08.601 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 21:57:20.987 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 21:57:20.987 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 21:57:23.646 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo ls -al /home/xiaji/webstatus/ +2025-09-07 21:57:23.655 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:57:23.700 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 21:57:23.719 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo ls -al /home/xiaji/webstatus/ +2025-09-07 21:58:02.554 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 21:58:02.555 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 21:58:04.803 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo tail /home/xiaji/webstatus/statuspage/wsgi.py +2025-09-07 21:58:04.813 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:58:04.865 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 21:58:04.881 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo tail /home/xiaji/webstatus/statuspage/wsgi.py +2025-09-07 21:58:33.794 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 21:58:33.795 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 21:58:36.788 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo dir -al /home/xiaji/webstatus/statuspage/ +2025-09-07 21:58:36.797 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 21:58:36.844 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 21:58:36.861 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo dir -al /home/xiaji/webstatus/statuspage/ +2025-09-07 21:59:06.046 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 21:59:06.047 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 21:59:06.047 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 21:59:06.047 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 21:59:08.866 | INFO | django_threads:run:86 - 执行Django命令: pip3 list | grep Django +2025-09-07 21:59:08.875 | ERROR | django_threads:run:205 - 命令错误: bash: line 1: pip3: command not found +2025-09-07 21:59:08.876 | ERROR | django_threads:run:214 - 命令执行失败,退出状态: 1 +2025-09-07 21:59:08.877 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 21:59:11.887 | INFO | django_threads:run:86 - 执行Django命令: cd /home/xiaji/webstatus && python3 manage.py runserver 0.0.0.0:8000 +2025-09-07 21:59:21.756 | INFO | django_threads:run:86 - 执行Django命令: pip3 list | grep Django +2025-09-07 21:59:21.766 | ERROR | django_threads:run:205 - 命令错误: bash: line 1: pip3: command not found +2025-09-07 21:59:21.767 | ERROR | django_threads:run:214 - 命令执行失败,退出状态: 1 +2025-09-07 21:59:21.768 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 21:59:30.388 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 21:59:30.414 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 21:59:30.414 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 21:59:30.414 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 21:59:30.417 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 21:59:30.467 | INFO | django_tab:process_settings_py_result:315 - 找到settings.py文件: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 21:59:30.467 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 21:59:30.468 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 21:59:30.468 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 21:59:40.994 | INFO | django_tab:download_settings:340 - settings.py已加载到编辑器: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 22:00:34.282 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 22:00:34.282 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 22:00:34.282 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 22:00:34.283 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 22:00:34.283 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 22:00:34.283 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 22:00:34.283 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 22:00:34.284 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 22:00:34.292 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:00:34.293 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 22:00:34.342 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 22:00:34.343 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 22:00:34.343 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 22:00:34.347 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 22:00:34.347 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 22:00:34.347 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 22:00:34.348 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 22:00:34.348 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 22:00:34.348 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 22:00:34.349 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 22:00:34.349 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 22:00:34.349 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 22:00:34.350 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 22:00:34.350 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 22:00:34.351 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 22:00:57.257 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:00:57.261 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus/ +sudo gunicorn statuspage.wsgi:application +2025-09-07 22:00:57.269 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:01:08.145 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:01:08.146 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:01:10.351 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo cd /home/xiaji/webstatus/ +sudo gunicorn statuspage.wsgi:application +2025-09-07 22:01:10.360 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:01:10.406 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:01:40.028 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 22:01:40.028 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 22:01:40.028 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 22:01:40.029 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 22:01:42.668 | INFO | django_tab:download_settings:340 - settings.py已加载到编辑器: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 22:01:43.761 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 22:01:43.771 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/manage.py +2025-09-07 22:01:43.771 | INFO | django_tab:process_manage_py_result:288 - 找到manage.py文件: /home/xiaji/webstatus/manage.py +2025-09-07 22:01:43.772 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "manage.py" 2>/dev/null | head -5 +2025-09-07 22:01:43.773 | INFO | django_threads:run:86 - 执行Django命令: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 22:01:43.823 | INFO | django_threads:run:198 - 命令输出: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 22:01:43.823 | INFO | django_tab:process_settings_py_result:315 - 找到settings.py文件: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 22:01:43.823 | INFO | django_threads:run:211 - 命令执行成功: find /home/xiaji -name "settings.py" 2>/dev/null | head -5 +2025-09-07 22:01:43.824 | INFO | django_tab:on_command_finished:155 - Django命令执行完成 +2025-09-07 22:01:45.650 | INFO | django_tab:download_settings:340 - settings.py已加载到编辑器: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 22:02:53.661 | INFO | django_tab:upload_settings:427 - 开始上传settings.py文件: C:/Users/xiaji/Documents/个人文件夹/夏骥/桌面部署/生产系统settings.py +2025-09-07 22:04:29.270 | INFO | django_tab:save_settings_to_server:368 - settings.py已保存到服务器: /home/xiaji/webstatus/statuspage/settings.py +2025-09-07 22:04:51.885 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 22:04:51.886 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 22:04:51.886 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 22:04:51.887 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 22:04:51.887 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 22:04:51.888 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 22:04:51.888 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 22:04:59.347 | INFO | gunicorn_tab:run:388 - Gunicorn服务状态查询成功: gunicorn_statuspage +× gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project + Loaded: loaded (/etc/systemd/system/gunicorn_statuspage.service; enabled; preset: enabled) + Active: failed (Result: exit-code) since Mon 2025-09-08 05:36:42 CST; 7h left + Duration: 508ms + Invocation: 7d9e6441344e4ea59a72a480a2304fd3 + Process: 910 ExecStartPre=/bin/rm -f /home/xiaji/webstatus/sock/gunicorn.sock (code=exited, status=0/SUCCESS) + Process: 929 ExecStartPre=/bin/mkdir -p /home/xiaji/webstatus/sock (code=exited, status=0/SUCCESS) + Process: 947 ExecStart=/usr/bin/gunicorn --pythonpath /home/xiaji/webstatus --workers 3 --bind unix:/home/xiaji/webstatus/sock/gunicorn.sock --access-logfile /home/xiaji/webstatus/logs/gunicorn_access.log --error-logfile /home/xiaji/webstatus/logs/gunicorn_error.log statuspage.wsgi:application (code=exited, status=1/FAILURE) + Main PID: 947 (code=exited, status=1/FAILURE) + Mem peak: 24M + CPU: 165ms + +Sep 07 21:55:25 statuspage systemd[1]: Starting gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project... +Sep 08 05:36:41 statuspage systemd[1]: Started gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project. +Sep 08 05:36:42 statuspage gunicorn[947]: Error: Error: '/home/xiaji/webstatus/logs/gunicorn_error.log' isn't writable [FileNotFoundError(2, 'No such file or directory')] +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Main process exited, code=exited, status=1/FAILURE +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Failed with result 'exit-code'. + +2025-09-07 22:04:59.348 | INFO | gunicorn_tab:on_control_result:1127 - Gunicorn服务控制成功: Gunicorn服务状态查询成功: gunicorn_statuspage +× gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project + Loaded: loaded (/etc/systemd/system/gunicorn_statuspage.service; enabled; preset: enabled) + Active: failed (Result: exit-code) since Mon 2025-09-08 05:36:42 CST; 7h left + Duration: 508ms + Invocation: 7d9e6441344e4ea59a72a480a2304fd3 + Process: 910 ExecStartPre=/bin/rm -f /home/xiaji/webstatus/sock/gunicorn.sock (code=exited, status=0/SUCCESS) + Process: 929 ExecStartPre=/bin/mkdir -p /home/xiaji/webstatus/sock (code=exited, status=0/SUCCESS) + Process: 947 ExecStart=/usr/bin/gunicorn --pythonpath /home/xiaji/webstatus --workers 3 --bind unix:/home/xiaji/webstatus/sock/gunicorn.sock --access-logfile /home/xiaji/webstatus/logs/gunicorn_access.log --error-logfile /home/xiaji/webstatus/logs/gunicorn_error.log statuspage.wsgi:application (code=exited, status=1/FAILURE) + Main PID: 947 (code=exited, status=1/FAILURE) + Mem peak: 24M + CPU: 165ms + +Sep 07 21:55:25 statuspage systemd[1]: Starting gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project... +Sep 08 05:36:41 statuspage systemd[1]: Started gunicorn_statuspage.service - Gunicorn Daemon for statuspage Project. +Sep 08 05:36:42 statuspage gunicorn[947]: Error: Error: '/home/xiaji/webstatus/logs/gunicorn_error.log' isn't writable [FileNotFoundError(2, 'No such file or directory')] +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Main process exited, code=exited, status=1/FAILURE +Sep 08 05:36:42 statuspage systemd[1]: gunicorn_statuspage.service: Failed with result 'exit-code'. + +2025-09-07 22:05:59.219 | INFO | gunicorn_tab:run:419 - 查看Gunicorn服务日志: bash -c 'echo "xiaji" | sudo -S journalctl -u gunicorn_statuspage -n 100' +2025-09-07 22:05:59.322 | INFO | gunicorn_tab:run:429 - Gunicorn服务日志查看成功 +2025-09-07 22:05:59.325 | INFO | gunicorn_tab:on_log_result:1068 - Gunicorn服务日志查看成功 +2025-09-07 22:09:22.443 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 22:09:22.445 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 22:09:22.445 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 22:09:22.446 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 22:09:22.446 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 22:09:22.447 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 22:09:22.447 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 22:09:22.448 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 22:09:22.459 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:09:22.460 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 22:09:22.511 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 22:09:22.513 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 22:09:22.513 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 22:09:22.514 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 22:09:22.515 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 22:09:22.515 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 22:09:22.516 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 22:09:22.516 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 22:09:22.517 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 22:09:22.517 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 22:09:22.518 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 22:09:22.518 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 22:09:22.518 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 6 xiaji www-data 4096 Sep 8 2025 webstatus +2025-09-07 22:09:22.519 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 22:09:22.519 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 22:09:41.550 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:09:41.551 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:09:46.999 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo mkdir -p /home/xiaji/webstatus/logs + +# 2. 赋予xiaji用户完全权限(避免权限不足) +sudo chown -R xiaji:xiaji /home/xiaji/webstatus/logs +sudo chmod -R 755 /home/xiaji/webstatus/logs +2025-09-07 22:09:47.005 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:09:47.053 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:09:56.033 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:09:56.034 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:09:59.755 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo mkdir -p /home/xiaji/webstatus/logs +2025-09-07 22:09:59.763 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:09:59.810 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:10:09.382 | INFO | remote_commands_tab:on_current_dir_entered:601 - 用户输入目录路径并按回车键 +2025-09-07 22:10:09.383 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 22:10:09.383 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji/webstatus/logs +2025-09-07 22:10:09.386 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji/webstatus/logs && pwd && ls -la +2025-09-07 22:10:09.394 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:10:09.394 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 22:10:09.443 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji/webstatus/logs +2025-09-07 22:10:09.444 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 8 +2025-09-07 22:10:09.444 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji/webstatus/logs && pwd && ls -la +2025-09-07 22:10:09.445 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 2 xiaji xiaji 4096 Sep 7 22:09 . +2025-09-07 22:10:09.446 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 7 xiaji www-data 4096 Sep 7 22:09 .. +2025-09-07 22:10:09.446 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 22:10:23.953 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:10:23.954 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:10:26.976 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo chown -R xiaji:xiaji /home/xiaji/webstatus/logs +2025-09-07 22:10:26.985 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:10:27.032 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:10:32.059 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:10:32.060 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:10:34.643 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo chmod -R 755 /home/xiaji/webstatus/logs +2025-09-07 22:10:34.652 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:10:34.698 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:10:36.709 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 22:10:36.710 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 22:10:36.710 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 22:10:36.710 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 22:10:36.710 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 22:10:36.713 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 22:10:36.713 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 22:10:49.475 | INFO | gunicorn_tab:run:597 - 开始执行Gunicorn命令: gunicorn --workers 3 --bind 0.0.0.0:8000 statuspage.wsgi:application +2025-09-07 22:10:49.476 | INFO | gunicorn_tab:run:607 - 添加--pythonpath参数后的命令: gunicorn --pythonpath /home/xiaji/webstatus/ --workers 3 --bind 0.0.0.0:8000 statuspage.wsgi:application +2025-09-07 22:10:49.476 | INFO | gunicorn_tab:run:612 - 在目录 /home/xiaji/webstatus/ 中执行命令: cd /home/xiaji/webstatus/ && bash -c 'echo "xiaji" | sudo -S gunicorn --pythonpath /home/xiaji/webstatus/ --workers 3 --bind 0.0.0.0:8000 statuspage.wsgi:application' +2025-09-07 22:10:50.881 | ERROR | gunicorn_tab:run:630 - Gunicorn命令执行失败: [sudo] password for xiaji: [2025-09-07 22:10:48 +0800] [1385] [INFO] Starting gunicorn 23.0.0 +[2025-09-07 22:10:48 +0800] [1385] [INFO] Listening at: http://0.0.0.0:8000 (1385) +[2025-09-07 22:10:48 +0800] [1385] [INFO] Using worker: sync +[2025-09-07 22:10:48 +0800] [1386] [INFO] Booting worker with pid: 1386 +[2025-09-07 22:10:48 +0800] [1387] [INFO] Booting worker with pid: 1387 +[2025-09-07 22:10:48 +0800] [1388] [INFO] Booting worker with pid: 1388 +[2025-09-07 22:10:48 +0800] [1386] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup + apps.populate(settings.INSTALLED_APPS) + File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 91, in populate + app_config = AppConfig.create(entry) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/apps/config.py", line 193, in create + import_module(entry) + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'rest_framework' +[2025-09-07 22:10:48 +0800] [1386] [INFO] Worker exiting (pid: 1386) +[2025-09-07 22:10:48 +0800] [1387] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup + apps.populate(settings.INSTALLED_APPS) + File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 91, in populate + app_config = AppConfig.create(entry) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/apps/config.py", line 193, in create + import_module(entry) + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'rest_framework' +[2025-09-07 22:10:48 +0800] [1387] [INFO] Worker exiting (pid: 1387) +[2025-09-07 22:10:48 +0800] [1385] [ERROR] Worker (pid:1386) exited with code 3 +[2025-09-07 22:10:48 +0800] [1385] [ERROR] Worker (pid:1387) exited with code 3 +[2025-09-07 22:10:48 +0800] [1388] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup + apps.populate(settings.INSTALLED_APPS) + File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 91, in populate + app_config = AppConfig.create(entry) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/apps/config.py", line 193, in create + import_module(entry) + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'rest_framework' +[2025-09-07 22:10:48 +0800] [1388] [INFO] Worker exiting (pid: 1388) +[2025-09-07 22:10:48 +0800] [1385] [ERROR] Worker (pid:1388) exited with code 3 +Error in function update +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/apt/progress/base.py", line 322, in update + def update(self, percent: float | None = None) -> None: + + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 241, in handle_chld + self.reap_workers() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 529, in reap_workers + raise HaltServer(reason, self.WORKER_BOOT_ERROR) +gunicorn.errors.HaltServer: +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 208, in run + self.sleep() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 359, in sleep + ready = select.select([self.PIPE[0]], [], [], 1.0) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 241, in handle_chld + self.reap_workers() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 529, in reap_workers + raise HaltServer(reason, self.WORKER_BOOT_ERROR) +gunicorn.errors.HaltServer: + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/bin/gunicorn", line 8, in + sys.exit(run()) + ^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 66, in run + WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 235, in run + super().run() + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 71, in run + Arbiter(self).run() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 228, in run + self.halt(reason=inst.reason, exit_status=inst.exit_status) + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 341, in halt + self.stop() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 395, in stop + time.sleep(0.1) + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 241, in handle_chld + self.reap_workers() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 529, in reap_workers + raise HaltServer(reason, self.WORKER_BOOT_ERROR) +gunicorn.errors.HaltServer: + +2025-09-07 22:10:50.885 | ERROR | gunicorn_tab:on_command_result:1196 - Gunicorn命令执行失败: 命令执行失败 +[sudo] password for xiaji: [2025-09-07 22:10:48 +0800] [1385] [INFO] Starting gunicorn 23.0.0 +[2025-09-07 22:10:48 +0800] [1385] [INFO] Listening at: http://0.0.0.0:8000 (1385) +[2025-09-07 22:10:48 +0800] [1385] [INFO] Using worker: sync +[2025-09-07 22:10:48 +0800] [1386] [INFO] Booting worker with pid: 1386 +[2025-09-07 22:10:48 +0800] [1387] [INFO] Booting worker with pid: 1387 +[2025-09-07 22:10:48 +0800] [1388] [INFO] Booting worker with pid: 1388 +[2025-09-07 22:10:48 +0800] [1386] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup + apps.populate(settings.INSTALLED_APPS) + File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 91, in populate + app_config = AppConfig.create(entry) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/apps/config.py", line 193, in create + import_module(entry) + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'rest_framework' +[2025-09-07 22:10:48 +0800] [1386] [INFO] Worker exiting (pid: 1386) +[2025-09-07 22:10:48 +0800] [1387] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup + apps.populate(settings.INSTALLED_APPS) + File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 91, in populate + app_config = AppConfig.create(entry) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/apps/config.py", line 193, in create + import_module(entry) + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'rest_framework' +[2025-09-07 22:10:48 +0800] [1387] [INFO] Worker exiting (pid: 1387) +[2025-09-07 22:10:48 +0800] [1385] [ERROR] Worker (pid:1386) exited with code 3 +[2025-09-07 22:10:48 +0800] [1385] [ERROR] Worker (pid:1387) exited with code 3 +[2025-09-07 22:10:48 +0800] [1388] [ERROR] Exception in worker process +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 608, in spawn_worker + worker.init_process() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 135, in init_process + self.load_wsgi() + File "/usr/lib/python3/dist-packages/gunicorn/workers/base.py", line 147, in load_wsgi + self.wsgi = self.app.wsgi() + ^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 66, in wsgi + self.callable = self.load() + ^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 57, in load + return self.load_wsgiapp() + ^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 47, in load_wsgiapp + return util.import_app(self.app_uri) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/util.py", line 395, in import_app + mod = importlib.import_module(module) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1331, in _find_and_load_unlocked + File "", line 935, in _load_unlocked + File "", line 995, in exec_module + File "", line 488, in _call_with_frames_removed + File "/home/xiaji/webstatus/statuspage/wsgi.py", line 16, in + application = get_wsgi_application() + ^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/core/wsgi.py", line 12, in get_wsgi_application + django.setup(set_prefix=False) + File "/usr/lib/python3/dist-packages/django/__init__.py", line 24, in setup + apps.populate(settings.INSTALLED_APPS) + File "/usr/lib/python3/dist-packages/django/apps/registry.py", line 91, in populate + app_config = AppConfig.create(entry) + ^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/django/apps/config.py", line 193, in create + import_module(entry) + File "/usr/lib/python3.12/importlib/__init__.py", line 90, in import_module + return _bootstrap._gcd_import(name[level:], package, level) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "", line 1387, in _gcd_import + File "", line 1360, in _find_and_load + File "", line 1324, in _find_and_load_unlocked +ModuleNotFoundError: No module named 'rest_framework' +[2025-09-07 22:10:48 +0800] [1388] [INFO] Worker exiting (pid: 1388) +[2025-09-07 22:10:48 +0800] [1385] [ERROR] Worker (pid:1388) exited with code 3 +Error in function update +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/apt/progress/base.py", line 322, in update + def update(self, percent: float | None = None) -> None: + + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 241, in handle_chld + self.reap_workers() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 529, in reap_workers + raise HaltServer(reason, self.WORKER_BOOT_ERROR) +gunicorn.errors.HaltServer: +Traceback (most recent call last): + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 208, in run + self.sleep() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 359, in sleep + ready = select.select([self.PIPE[0]], [], [], 1.0) + ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 241, in handle_chld + self.reap_workers() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 529, in reap_workers + raise HaltServer(reason, self.WORKER_BOOT_ERROR) +gunicorn.errors.HaltServer: + +During handling of the above exception, another exception occurred: + +Traceback (most recent call last): + File "/usr/bin/gunicorn", line 8, in + sys.exit(run()) + ^^^^^ + File "/usr/lib/python3/dist-packages/gunicorn/app/wsgiapp.py", line 66, in run + WSGIApplication("%(prog)s [OPTIONS] [APP_MODULE]", prog=prog).run() + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 235, in run + super().run() + File "/usr/lib/python3/dist-packages/gunicorn/app/base.py", line 71, in run + Arbiter(self).run() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 228, in run + self.halt(reason=inst.reason, exit_status=inst.exit_status) + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 341, in halt + self.stop() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 395, in stop + time.sleep(0.1) + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 241, in handle_chld + self.reap_workers() + File "/usr/lib/python3/dist-packages/gunicorn/arbiter.py", line 529, in reap_workers + raise HaltServer(reason, self.WORKER_BOOT_ERROR) +gunicorn.errors.HaltServer: + +2025-09-07 22:12:00.838 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 22:12:00.838 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 22:12:00.838 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 22:12:00.839 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 22:12:00.839 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 22:12:00.840 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 22:12:00.840 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 22:12:00.841 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 22:12:00.850 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:12:00.850 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 22:12:00.896 | ERROR | remote_commands_tab:run:136 - 执行命令时发生错误: ChannelException(2, 'Connect failed') +2025-09-07 22:12:00.897 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 错误: ChannelException(2, 'Connect failed') +2025-09-07 22:12:00.897 | ERROR | remote_commands_tab:on_dir_refresh_finished:666 - 刷新目录列表失败: 执行命令时发生错误: ChannelException(2, 'Connect failed') +2025-09-07 22:12:04.092 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 0 +2025-09-07 22:12:05.272 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 22:12:05.353 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 22:12:06.615 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 22:12:06.616 | INFO | remote_commands_tab:set_ssh_client:322 - 设置SSH客户端 +2025-09-07 22:12:06.616 | INFO | remote_commands_tab:set_server_config:357 - 设置服务器配置: git_url=http://192.168.3.241:3000/xiaji/webstatus.git, remote_dir=/home/xiaji +2025-09-07 22:12:06.616 | INFO | remote_commands_tab:refresh_directory:619 - 刷新目录列表 +2025-09-07 22:12:06.617 | INFO | remote_commands_tab:refresh_directory:631 - 使用用户输入目录: /home/xiaji +2025-09-07 22:12:06.617 | INFO | remote_commands_tab:set_server_info:303 - 设置服务器信息: {'ip': '192.168.3.157', 'username': 'xiaji', 'password': 'xiaji', 'port': 22, 'project': 'statuspage', 'git_url': 'http://192.168.3.241:3000/xiaji/webstatus.git', 'remote_dir': '/home/xiaji'} +2025-09-07 22:12:06.617 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 22:12:06.617 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 22:12:06.626 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:12:06.626 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 22:12:06.675 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: /home/xiaji +2025-09-07 22:12:06.676 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 22:12:06.676 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: total 84 +2025-09-07 22:12:06.677 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 22:12:06.677 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 22:12:06.678 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 22:12:06.678 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 22:12:06.678 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 22:12:06.679 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 22:12:06.679 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 22:12:06.679 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 22:12:06.680 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 0 Aug 31 12:39 .sudo_as_admin_successful +2025-09-07 22:12:06.680 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: drwxrwxr-x 7 xiaji www-data 4096 Sep 7 22:09 webstatus +2025-09-07 22:12:06.681 | INFO | remote_commands_tab:append_dir_output:645 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 22:12:06.681 | INFO | remote_commands_tab:on_dir_refresh_finished:651 - 目录列表刷新成功 +2025-09-07 22:12:11.139 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:12:11.140 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:12:14.314 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo pip3 install djangorestframework +2025-09-07 22:12:14.322 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:12:14.371 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:12:14.383 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 22:12:23.019 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:12:23.020 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:12:25.737 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo pip install djangorestframework +2025-09-07 22:12:25.745 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:12:25.791 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:12:25.804 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 22:15:20.092 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:15:20.093 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:15:25.184 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo pip3 install --upgrade pip +2025-09-07 22:15:25.194 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:15:25.242 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:15:25.254 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 22:15:39.197 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:15:39.198 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:15:45.018 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo pip install --upgrade pip +2025-09-07 22:15:45.025 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:15:45.072 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:15:45.085 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 22:15:54.342 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:15:54.342 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:15:57.580 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo pip3 install -i https://pypi.douban.com/simple/ djangorestframework +2025-09-07 22:15:57.588 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:15:57.634 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:15:57.647 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 22:16:19.677 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:16:19.678 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:16:22.483 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo apt-get update +2025-09-07 22:16:22.490 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:16:22.537 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:16:28.822 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo apt-get update +2025-09-07 22:16:36.273 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:16:36.275 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:16:40.908 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo apt-get install -y python3-dev build-essential +2025-09-07 22:16:40.916 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:16:40.963 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:17:00.562 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo apt-get install -y python3-dev build-essential +2025-09-07 22:17:06.684 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:17:06.685 | INFO | remote_commands_tab:run:53 - 执行远程命令: pip3 --version +2025-09-07 22:17:06.693 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:17:06.746 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 127 +2025-09-07 22:17:19.001 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:17:19.003 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:17:23.153 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo apt-get install -y python3-pip +2025-09-07 22:17:23.160 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:17:23.208 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:17:28.514 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo apt-get install -y python3-pip +2025-09-07 22:17:31.914 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:17:31.915 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:17:34.385 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo pip3 install djangorestframework +2025-09-07 22:17:34.392 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:17:34.440 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:17:34.808 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: 1 +2025-09-07 22:18:26.193 | INFO | remote_commands_tab:execute_custom_command:670 - 执行自定义命令 +2025-09-07 22:18:26.194 | INFO | remote_commands_tab:execute_custom_command:686 - 检测到sudo命令,预先请求密码 +2025-09-07 22:18:29.826 | INFO | remote_commands_tab:run:53 - 执行远程命令: sudo apt-get install -y python3-djangorestframework +2025-09-07 22:18:29.835 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 22:18:29.882 | INFO | remote_commands_tab:run:84 - 使用预先设置的密码 +2025-09-07 22:18:35.951 | INFO | remote_commands_tab:run:129 - 命令执行成功: sudo apt-get install -y python3-djangorestframework +2025-09-07 22:18:39.472 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 2 +2025-09-07 22:18:39.473 | INFO | django_tab:set_ssh_client:142 - Django标签页已设置SSH客户端 +2025-09-07 22:18:39.473 | INFO | django_tab:set_username:147 - Django标签页已设置用户名: xiaji +2025-09-07 22:18:39.474 | INFO | __main__:on_tab_changed:123 - 状态栏更新为Django项目: statuspage, 目录: /home/xiaji +2025-09-07 22:18:45.431 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 22:18:45.431 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 22:18:45.431 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 22:18:45.432 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 22:18:45.432 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 22:18:45.433 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 22:18:45.434 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 22:18:51.534 | INFO | gunicorn_tab:run:597 - 开始执行Gunicorn命令: gunicorn --workers 3 --bind 0.0.0.0:8000 statuspage.wsgi:application +2025-09-07 22:18:51.534 | INFO | gunicorn_tab:run:607 - 添加--pythonpath参数后的命令: gunicorn --pythonpath /home/xiaji/webstatus/ --workers 3 --bind 0.0.0.0:8000 statuspage.wsgi:application +2025-09-07 22:18:51.534 | INFO | gunicorn_tab:run:612 - 在目录 /home/xiaji/webstatus/ 中执行命令: cd /home/xiaji/webstatus/ && bash -c 'echo "xiaji" | sudo -S gunicorn --pythonpath /home/xiaji/webstatus/ --workers 3 --bind 0.0.0.0:8000 statuspage.wsgi:application' +2025-09-07 22:19:17.743 | INFO | gunicorn_tab:run:561 - 开始设置服务器时区为Asia/Shanghai +2025-09-07 22:19:17.832 | INFO | gunicorn_tab:run:572 - 开始重启服务器 +2025-09-07 22:19:17.879 | INFO | gunicorn_tab:run:576 - 时区设置成功,服务器正在重启 +2025-09-07 22:19:17.880 | INFO | gunicorn_tab:on_server_control_result:1157 - 服务器控制成功: 时区设置成功,服务器正在重启 +2025-09-07 22:19:18.094 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: -1 +2025-09-07 22:19:18.094 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: -1 +2025-09-07 22:19:18.094 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: -1 +2025-09-07 22:19:18.094 | ERROR | django_threads:run:205 - 命令错误: Exception in thread django-main-thread: +2025-09-07 22:19:18.094 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: -1 +2025-09-07 22:19:18.096 | INFO | remote_commands_tab:request_password:394 - 请求输入sudo密码 +2025-09-07 22:19:18.096 | ERROR | remote_commands_tab:run:132 - 命令执行失败,退出状态: -1 +2025-09-07 22:19:18.097 | ERROR | django_threads:run:205 - 命令错误: Traceback (most recent call last): diff --git a/config.json b/config.json index 06d9799..a744c83 100644 --- a/config.json +++ b/config.json @@ -7,5 +7,14 @@ "project": "statuspage", "git_url": "http://192.168.3.241:3000/xiaji/webstatus.git", "remote_dir": "/home/xiaji" + }, + "statuspage": { + "ip": "192.168.3.157", + "username": "xiaji", + "password": "xiaji", + "port": 22, + "project": "statuspage", + "git_url": "http://192.168.3.241:3000/xiaji/webstatus.git", + "remote_dir": "/home/xiaji" } } \ No newline at end of file diff --git a/remote_commands_tab.py b/remote_commands_tab.py index 89f9104..aac9d9f 100644 --- a/remote_commands_tab.py +++ b/remote_commands_tab.py @@ -188,6 +188,15 @@ class RemoteCommandsTab(QWidget): self.clone_button = QPushButton("克隆项目") self.clone_button.clicked.connect(self.clone_repository) right_layout.addWidget(self.clone_button) + + self.pull_button = QPushButton("拉取更新") + self.pull_button.clicked.connect(self.pull_repository) + right_layout.addWidget(self.pull_button) + + self.handle_changes_button = QPushButton("处理本地更改") + self.handle_changes_button.clicked.connect(self.handle_local_changes) + right_layout.addWidget(self.handle_changes_button) + right_layout.addStretch() clone_layout.addLayout(right_layout) @@ -425,6 +434,140 @@ class RemoteCommandsTab(QWidget): self.command_thread.output_signal.connect(self.append_output) self.command_thread.finished_signal.connect(self.on_command_finished) self.command_thread.start() + + def pull_repository(self): + logger.info("拉取仓库更新") + + if not self.ssh_client: + QMessageBox.warning(self, "警告", "请先连接到服务器") + return + + remote_dir = self.remote_dir_display.text().strip() + if not remote_dir: + QMessageBox.warning(self, "警告", "请先设置远程目录") + return + + # 从仓库URL中提取项目名称 + repo_url = self.repo_url_input.text().strip() + if not repo_url: + QMessageBox.warning(self, "警告", "请输入仓库URL") + return + + # 从URL中提取项目名(例如:http://example.com/repo.git -> repo) + project_name = repo_url.split('/')[-1].replace('.git', '') + project_path = f"{remote_dir}/{project_name}" + + self.output_text.clear() + self.status_label.setText("正在拉取仓库更新...") + + # 构建拉取命令 + pull_command = f"cd {project_path} && git pull --verbose" + + # 创建并启动线程执行命令 + self.command_thread = RemoteCommandThread(self.ssh_client, pull_command) + self.command_thread.output_signal.connect(self.append_output) + self.command_thread.finished_signal.connect(self.on_command_finished) + self.command_thread.start() + + def handle_local_changes(self): + logger.info("处理本地更改") + + if not self.ssh_client: + QMessageBox.warning(self, "警告", "请先连接到服务器") + return + + remote_dir = self.remote_dir_display.text().strip() + if not remote_dir: + QMessageBox.warning(self, "警告", "请先设置远程目录") + return + + # 从仓库URL中提取项目名称 + repo_url = self.repo_url_input.text().strip() + if not repo_url: + QMessageBox.warning(self, "警告", "请输入仓库URL") + return + + # 从URL中提取项目名(例如:http://example.com/repo.git -> repo) + project_name = repo_url.split('/')[-1].replace('.git', '') + project_path = f"{remote_dir}/{project_name}" + + self.output_text.clear() + self.status_label.setText("正在检查本地更改...") + + # 创建对话框询问用户如何处理本地更改 + reply = QMessageBox.question( + self, + "处理本地更改", + "检测到本地有未提交的更改,请选择处理方式:\n\n" + "是(Y) - 暂存更改(stash),拉取更新后再恢复\n" + "否(N) - 放弃本地更改,直接拉取更新\n" + "取消 - 取消操作", + QMessageBox.Yes | QMessageBox.No | QMessageBox.Cancel, + QMessageBox.Cancel + ) + + if reply == QMessageBox.Yes: + # 暂存更改 + self.status_label.setText("正在暂存更改...") + stash_command = f"cd {project_path} && git stash push -m 'Auto-stash before pull'" + self.command_thread = RemoteCommandThread(self.ssh_client, stash_command) + self.command_thread.output_signal.connect(self.append_output) + self.command_thread.finished_signal.connect(lambda success, msg: self.on_stash_finished(success, msg, project_path)) + self.command_thread.start() + elif reply == QMessageBox.No: + # 放弃本地更改,强制拉取 + self.status_label.setText("正在重置本地更改...") + reset_command = f"cd {project_path} && git reset --hard HEAD && git clean -fd" + self.command_thread = RemoteCommandThread(self.ssh_client, reset_command) + self.command_thread.output_signal.connect(self.append_output) + self.command_thread.finished_signal.connect(lambda success, msg: self.on_reset_finished(success, msg, project_path)) + self.command_thread.start() + # 如果选择取消,不做任何操作 + + def on_stash_finished(self, success, message, project_path): + """暂存操作完成后的处理""" + if success: + self.append_output("暂存更改成功,正在拉取更新...") + # 拉取更新 + pull_command = f"cd {project_path} && git pull --verbose" + self.command_thread = RemoteCommandThread(self.ssh_client, pull_command) + self.command_thread.output_signal.connect(self.append_output) + self.command_thread.finished_signal.connect(lambda success, msg: self.on_pull_after_stash_finished(success, msg, project_path)) + self.command_thread.start() + else: + self.status_label.setText("暂存更改失败") + self.status_label.setStyleSheet("color: red;") + self.append_output(f"暂存更改失败: {message}") + + def on_pull_after_stash_finished(self, success, message, project_path): + """暂存后拉取更新完成后的处理""" + if success: + self.append_output("拉取更新成功,正在恢复暂存的更改...") + # 恢复暂存的更改 + pop_command = f"cd {project_path} && git stash pop" + self.command_thread = RemoteCommandThread(self.ssh_client, pop_command) + self.command_thread.output_signal.connect(self.append_output) + self.command_thread.finished_signal.connect(self.on_command_finished) + self.command_thread.start() + else: + self.status_label.setText("拉取更新失败") + self.status_label.setStyleSheet("color: red;") + self.append_output(f"拉取更新失败: {message}") + + def on_reset_finished(self, success, message, project_path): + """重置操作完成后的处理""" + if success: + self.append_output("重置本地更改成功,正在拉取更新...") + # 拉取更新 + pull_command = f"cd {project_path} && git pull --verbose" + self.command_thread = RemoteCommandThread(self.ssh_client, pull_command) + self.command_thread.output_signal.connect(self.append_output) + self.command_thread.finished_signal.connect(self.on_command_finished) + self.command_thread.start() + else: + self.status_label.setText("重置本地更改失败") + self.status_label.setStyleSheet("color: red;") + self.append_output(f"重置本地更改失败: {message}") def append_output(self, text): self.output_text.append(text) diff --git a/生产系统settings.py b/生产系统settings.py new file mode 100644 index 0000000..eb51285 --- /dev/null +++ b/生产系统settings.py @@ -0,0 +1,136 @@ +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.2/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-$w+8+hw%p$2xi_fi+7avahc&03-y@x05e^r02-x3nt5johmk6l' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['192.168.3.157'] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'rest_framework', + 'status', +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'django.middleware.locale.LocaleMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'statuspage.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'statuspage.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.2/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.2/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.2/topics/i18n/ + +LANGUAGE_CODE = 'zh-hans' + +TIME_ZONE = 'Asia/Shanghai' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.2/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.2/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +# REST Framework settings +REST_FRAMEWORK = { + 'DEFAULT_PAGINATION_CLASS': 'rest_framework.pagination.PageNumberPagination', + 'PAGE_SIZE': 20, + 'DEFAULT_AUTHENTICATION_CLASSES': [ + # 初期不使用认证,后续可以添加Token认证 + # 'rest_framework.authentication.TokenAuthentication', + ], + 'DEFAULT_PERMISSION_CLASSES': [ + # 初期允许所有访问,后续可以添加权限控制 + 'rest_framework.permissions.AllowAny', + ], + 'DEFAULT_RENDERER_CLASSES': [ + 'rest_framework.renderers.JSONRenderer', + 'rest_framework.renderers.BrowsableAPIRenderer', + ], +} + + +STATIC_ROOT = BASE_DIR / 'static' # 注意这里是 'static' 而非 '/static' +MEDIA_ROOT = BASE_DIR / 'media'