diff --git a/app.log b/app.log index 96484f4..fa8c7f1 100644 --- a/app.log +++ b/app.log @@ -4903,3 +4903,114 @@ sudo systemctl restart nginx 2025-09-07 12:20:20.519 | INFO | nginx_tab:run:196 - Nginx restart 操作成功 2025-09-07 12:20:20.521 | INFO | nginx_tab:on_control_result:849 - Nginx服务控制成功: Nginx restart 操作成功 +2025-09-07 12:35:32.873 | INFO | __main__::189 - 启动应用程序 +2025-09-07 12:35:32.896 | INFO | __main__:__init__:17 - 初始化主窗口 +2025-09-07 12:35:32.901 | INFO | __main__:__init__:32 - 设置状态栏显示当前目录: C:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署 +2025-09-07 12:35:32.902 | INFO | server_connection_tab:__init__:14 - 初始化服务器连接标签页 +2025-09-07 12:35:32.903 | INFO | server_connection_tab:init_ui:93 - 服务器连接标签页UI初始化完成 +2025-09-07 12:35:32.903 | INFO | server_connection_tab:load_config:96 - 加载配置文件 +2025-09-07 12:35:32.904 | INFO | server_connection_tab:load_config:103 - 成功加载配置文件: c:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\config.json +2025-09-07 12:35:32.904 | INFO | server_connection_tab:on_alias_changed:122 - 选择别名: 测试机 +2025-09-07 12:35:32.905 | INFO | remote_commands_tab:__init__:151 - 初始化远程命令标签页 +2025-09-07 12:35:32.906 | INFO | remote_commands_tab:init_ui:290 - 远程命令标签页UI初始化完成 +2025-09-07 12:35:32.910 | INFO | __main__:__init__:57 - 主窗口初始化完成 +2025-09-07 12:35:34.706 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器 +2025-09-07 12:35:34.798 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157 +2025-09-07 12:35:36.292 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4 +2025-09-07 12:35:36.292 | INFO | nginx_tab:set_ssh_client:551 - Nginx标签页已设置SSH客户端 +2025-09-07 12:35:36.292 | INFO | nginx_tab:set_username:556 - Nginx标签页已设置用户名: xiaji +2025-09-07 12:35:36.293 | INFO | nginx_tab:set_project_info:562 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157 +2025-09-07 12:35:36.295 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage +2025-09-07 12:35:42.638 | INFO | nginx_tab:run:265 - 开始处理Nginx站点配置: statuspage, 操作: download +2025-09-07 12:35:42.666 | INFO | nginx_tab:run:339 - 站点配置文件下载成功: /etc/nginx/sites-enabled/statuspage +2025-09-07 12:35:42.667 | INFO | nginx_tab:on_download_site_config_result:836 - Nginx站点配置文件下载成功 +2025-09-07 12:35:42.668 | INFO | nginx_tab:add_static_mappings:893 - 配置文件已包含静态文件映射 +2025-09-07 12:35:57.819 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: status +2025-09-07 12:35:57.851 | INFO | nginx_tab:run:196 - Nginx status 操作成功 +2025-09-07 12:35:57.853 | INFO | nginx_tab:on_control_result:963 - 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 12:20:19 CST; 15min ago + Invocation: c4f06a4c2b114a538d3ac675f9778381 + Docs: man:nginx(8) + Process: 2868 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Process: 2870 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Main PID: 2871 (nginx) + Tasks: 3 (limit: 1844) + Memory: 2.8M (peak: 3.2M) + CPU: 25ms + CGroup: /system.slice/nginx.service + ├─2871 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" + ├─2872 "nginx: worker process" + └─2873 "nginx: worker process" + +Sep 07 12:20:19 statuspage systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server... +Sep 07 12:20:19 statuspage systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server. + +2025-09-07 12:37:39.604 | INFO | nginx_tab:run:100 - 开始处理Nginx配置文件: /etc/nginx/nginx.conf, 操作: download +2025-09-07 12:37:39.628 | INFO | nginx_tab:run:148 - 配置文件下载成功: /etc/nginx/nginx.conf +2025-09-07 12:37:39.631 | INFO | nginx_tab:on_download_main_config_result:625 - Nginx主配置文件下载成功 +2025-09-07 12:38:03.128 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 1 +2025-09-07 12:38:03.129 | INFO | remote_commands_tab:set_ssh_client:313 - 设置SSH客户端 +2025-09-07 12:38:03.129 | 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 12:38:03.130 | INFO | remote_commands_tab:refresh_directory:476 - 刷新目录列表 +2025-09-07 12:38:03.130 | INFO | remote_commands_tab:refresh_directory:488 - 使用用户输入目录: /home/xiaji +2025-09-07 12:38:03.130 | 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 12:38:03.130 | INFO | __main__:on_tab_changed:88 - 状态栏更新为远程服务器目录: 测试机: /home/xiaji +2025-09-07 12:38:03.131 | INFO | remote_commands_tab:run:53 - 执行远程命令: cd /home/xiaji && pwd && ls -la +2025-09-07 12:38:03.139 | INFO | remote_commands_tab:run:73 - 当前目录: /home/xiaji +2025-09-07 12:38:03.140 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: 当前目录: /home/xiaji +2025-09-07 12:38:03.189 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: /home/xiaji +2025-09-07 12:38:03.190 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: total 84 +2025-09-07 12:38:03.190 | INFO | remote_commands_tab:run:129 - 命令执行成功: cd /home/xiaji && pwd && ls -la +2025-09-07 12:38:03.191 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxr-x--x 6 xiaji xiaji 4096 Aug 31 12:39 . +2025-09-07 12:38:03.192 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxr-xr-x 3 root root 4096 Aug 31 17:55 .. +2025-09-07 12:38:03.192 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 220 Aug 20 2024 .bash_logout +2025-09-07 12:38:03.193 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 3771 Aug 20 2024 .bashrc +2025-09-07 12:38:03.193 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 10:56 .cache +2025-09-07 12:38:03.194 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxrwxr-x 3 xiaji xiaji 4096 Aug 31 10:59 django.remote +2025-09-07 12:38:03.194 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-r--r-- 1 xiaji xiaji 807 Aug 20 2024 .profile +2025-09-07 12:38:03.194 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwx------ 2 xiaji xiaji 4096 Aug 31 17:55 .ssh +2025-09-07 12:38:03.195 | 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 12:38:03.195 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: drwxrwxr-x 10 xiaji www-data 4096 Sep 7 10:10 webstatus +2025-09-07 12:38:03.195 | INFO | remote_commands_tab:append_dir_output:502 - 目录列表信息: -rw-rw-r-- 1 xiaji xiaji 47664 Aug 31 11:33 xiaji +2025-09-07 12:38:03.196 | INFO | remote_commands_tab:on_dir_refresh_finished:508 - 目录列表刷新成功 +2025-09-07 12:38:29.561 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4 +2025-09-07 12:38:29.561 | INFO | nginx_tab:set_ssh_client:551 - Nginx标签页已设置SSH客户端 +2025-09-07 12:38:29.562 | INFO | nginx_tab:set_username:556 - Nginx标签页已设置用户名: xiaji +2025-09-07 12:38:29.562 | INFO | nginx_tab:set_project_info:562 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157 +2025-09-07 12:38:29.565 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage +2025-09-07 12:38:33.241 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: status +2025-09-07 12:38:33.272 | INFO | nginx_tab:run:196 - Nginx status 操作成功 +2025-09-07 12:38:33.274 | INFO | nginx_tab:on_control_result:963 - 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 12:20:19 CST; 18min ago + Invocation: c4f06a4c2b114a538d3ac675f9778381 + Docs: man:nginx(8) + Process: 2868 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Process: 2870 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS) + Main PID: 2871 (nginx) + Tasks: 3 (limit: 1844) + Memory: 2.8M (peak: 3.2M) + CPU: 26ms + CGroup: /system.slice/nginx.service + ├─2871 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;" + ├─2872 "nginx: worker process" + └─2873 "nginx: worker process" + +Sep 07 12:20:19 statuspage systemd[1]: Starting nginx.service - A high performance web server and a reverse proxy server... +Sep 07 12:20:19 statuspage systemd[1]: Started nginx.service - A high performance web server and a reverse proxy server. + +2025-09-07 12:40:09.680 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 3 +2025-09-07 12:40:09.680 | INFO | gunicorn_tab:set_ssh_client:767 - Gunicorn标签页已设置SSH客户端 +2025-09-07 12:40:09.681 | INFO | __main__:on_tab_changed:158 - 构建的Django路径: /home/xiaji/webstatus/, 项目名: statuspage +2025-09-07 12:40:09.681 | INFO | gunicorn_tab:set_username:772 - Gunicorn标签页已设置用户名: xiaji +2025-09-07 12:40:09.681 | INFO | gunicorn_tab:set_project_info:778 - Gunicorn标签页已设置项目信息: statuspage, /home/xiaji/webstatus/ +2025-09-07 12:40:09.682 | INFO | gunicorn_tab:update_command_editor:805 - Gunicorn命令编辑器已更新项目名称: statuspage +2025-09-07 12:40:09.682 | INFO | __main__:on_tab_changed:165 - 状态栏更新为Gunicorn服务: gunicorn_statuspage, 目录: /home/xiaji/webstatus/ +2025-09-07 12:40:56.005 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4 +2025-09-07 12:40:56.005 | INFO | nginx_tab:set_ssh_client:551 - Nginx标签页已设置SSH客户端 +2025-09-07 12:40:56.006 | INFO | nginx_tab:set_username:556 - Nginx标签页已设置用户名: xiaji +2025-09-07 12:40:56.006 | INFO | nginx_tab:set_project_info:562 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157 +2025-09-07 12:40:56.009 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage diff --git a/nginx_tab.py b/nginx_tab.py index ee7da47..e534417 100644 --- a/nginx_tab.py +++ b/nginx_tab.py @@ -421,6 +421,11 @@ class NginxTab(QWidget): self.download_site_config_btn.clicked.connect(self.download_site_config) site_config_btn_layout.addWidget(self.download_site_config_btn) + # 修改为Unix socket连接按钮 + self.modify_to_unix_socket_btn = QPushButton("修改为Unix Socket连接") + self.modify_to_unix_socket_btn.clicked.connect(self.modify_to_unix_socket) + site_config_btn_layout.addWidget(self.modify_to_unix_socket_btn) + site_config_layout.addLayout(site_config_btn_layout) layout.addLayout(site_config_layout) @@ -897,6 +902,63 @@ http { self.append_output(f"添加静态文件映射失败: {error_msg}") logger.error(f"添加静态文件映射失败: {error_msg}") + def modify_to_unix_socket(self): + """修改站点配置文件中的proxy_pass为Unix socket连接""" + # 读取config.json文件获取项目信息 + try: + with open('config.json', 'r', encoding='utf-8') as f: + config = json.load(f) + + # 获取第一个服务器配置(假设只有一个服务器配置) + server_config = next(iter(config.values())) + username = server_config.get('username', '') + git_url = server_config.get('git_url', '') + + # 从git_url中提取项目名(.git前的值) + if git_url: + # 提取git_url中最后一个/和.git之间的部分 + if '/' in git_url: + project_name = git_url.split('/')[-1] + if project_name.endswith('.git'): + project_name = project_name[:-4] # 移除.git后缀 + else: + project_name = 'webstatus' # 默认值 + else: + project_name = 'webstatus' # 默认值 + + # 构建Unix socket路径 + unix_socket_path = f"unix:/home/{username}/{project_name}/sock/gunicorn.sock" + + # 获取当前配置内容 + current_config = self.site_config_editor.toPlainText() + + # 查找并替换proxy_pass的值 + import re + # 使用正则表达式匹配proxy_pass行 + pattern = r'(\s+proxy_pass\s+)http://[^;]+;' + replacement = f'\1{unix_socket_path};' + + new_config = re.sub(pattern, replacement, current_config) + + if new_config != current_config: + # 更新配置内容 + self.site_config_editor.setPlainText(new_config) + self.append_output(f"已将proxy_pass修改为: {unix_socket_path}") + logger.info(f"已将proxy_pass修改为: {unix_socket_path}") + else: + # 检查是否已经是Unix socket连接 + if unix_socket_path in current_config: + self.append_output("配置文件已经是Unix socket连接") + logger.info("配置文件已经是Unix socket连接") + else: + self.append_output("未找到可修改的proxy_pass配置") + logger.warning("未找到可修改的proxy_pass配置") + + except Exception as e: + error_msg = str(e) + self.append_output(f"修改为Unix socket连接失败: {error_msg}") + logger.error(f"修改为Unix socket连接失败: {error_msg}") + def restart_nginx(self): """重启Nginx""" if not self.ssh_client: