增加修改sock,与Gunicorn配置相对应的按钮

This commit is contained in:
2025-09-07 12:43:09 +08:00
parent fffed99165
commit cc90d6f947
2 changed files with 173 additions and 0 deletions

111
app.log
View File

@@ -4903,3 +4903,114 @@ sudo systemctl restart nginx
2025-09-07 12:18:46.191 | INFO | remote_commands_tab:__init__:151 - 初始化远程命令标签页
2025-09-07 12:18:46.192 | INFO | remote_commands_tab:init_ui:290 - 远程命令标签页UI初始化完成
2025-09-07 12:18:46.196 | INFO | __main__:__init__:57 - 主窗口初始化完成
2025-09-07 12:18:47.348 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4
2025-09-07 12:18:47.348 | INFO | nginx_tab:set_ssh_client:530 - Nginx标签页已设置SSH客户端
2025-09-07 12:18:47.348 | INFO | nginx_tab:set_username:535 - Nginx标签页已设置用户名: xiaji
2025-09-07 12:18:47.349 | INFO | nginx_tab:set_project_info:541 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157
2025-09-07 12:18:47.351 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage
2025-09-07 12:19:34.328 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 0
2025-09-07 12:19:35.401 | INFO | server_connection_tab:connect_to_server:188 - 尝试连接服务器
2025-09-07 12:19:35.485 | INFO | server_connection_tab:connect_to_server:207 - 成功连接到服务器: 192.168.3.157
2025-09-07 12:19:36.758 | INFO | __main__:on_tab_changed:60 - 标签页切换到: 4
2025-09-07 12:19:36.758 | INFO | nginx_tab:set_ssh_client:530 - Nginx标签页已设置SSH客户端
2025-09-07 12:19:36.759 | INFO | nginx_tab:set_username:535 - Nginx标签页已设置用户名: xiaji
2025-09-07 12:19:36.759 | INFO | nginx_tab:set_project_info:541 - Nginx标签页已设置项目信息: statuspage, 192.168.3.157
2025-09-07 12:19:36.763 | INFO | __main__:on_tab_changed:185 - 状态栏更新为Nginx服务: nginx, 项目: statuspage
2025-09-07 12:19:41.713 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: configtest
2025-09-07 12:19:41.741 | INFO | nginx_tab:run:196 - Nginx configtest 操作成功
2025-09-07 12:19:47.103 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: restart
2025-09-07 12:19:51.347 | INFO | nginx_tab:run:196 - Nginx restart 操作成功
2025-09-07 12:19:51.348 | INFO | nginx_tab:on_control_result:849 - Nginx服务控制成功: Nginx restart 操作成功
2025-09-07 12:20:03.247 | INFO | nginx_tab:run:100 - 开始处理Nginx配置文件: /etc/nginx/nginx.conf, 操作: upload
2025-09-07 12:20:03.392 | INFO | nginx_tab:run:133 - 配置文件上传成功: /etc/nginx/nginx.conf
2025-09-07 12:20:03.392 | INFO | nginx_tab:on_upload_main_config_result:634 - Nginx主配置文件上传成功: 配置文件上传成功: /etc/nginx/nginx.conf
2025-09-07 12:20:07.097 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: configtest
2025-09-07 12:20:07.127 | INFO | nginx_tab:run:196 - Nginx configtest 操作成功
2025-09-07 12:20:07.128 | INFO | nginx_tab:on_upload_configtest_result:660 - Nginx主配置文件上传后语法检查通过
2025-09-07 12:20:13.227 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: configtest
2025-09-07 12:20:13.256 | INFO | nginx_tab:run:196 - Nginx configtest 操作成功
2025-09-07 12:20:17.323 | INFO | nginx_tab:run:171 - 开始执行Nginx服务操作: restart
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__:<module>: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 操作成功

View File

@@ -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: