Files
django.remote/__pycache__/nginx_tab.cpython-38.pyc

346 lines
30 KiB
Plaintext
Raw Normal View History

2025-08-31 20:35:59 +08:00
U
<1E>hi<68><00>@s<>ddlZddlZddlZddlmZmZmZmZmZm Z m
2025-08-31 20:35:59 +08:00
Z
m Z m Z m Z mZddlmZmZddlmZGdd<06>de <0A>ZGdd<08>de<10>ZGd d
2025-08-31 20:35:59 +08:00
<EFBFBD>d
e<10>ZGd d <0C>d e<10>ZGd d<0E>de<10>ZGdd<10>de<10>ZGdd<12>de<04>ZdS)<13>N) <0B>QWidget<65> QVBoxLayout<75> QHBoxLayout<75> QPushButton<6F>QLabel<65> QTextEdit<69> QFileDialog<6F> QMessageBox<6F> QLineEdit<69>QDialog<6F>QDialogButtonBox)<02>QThread<61>Signal)<01>loggercs&eZdZd<06>fdd<03> Zdd<05>Z<04>ZS)<07>PasswordDialogNcs<>t<00><00>|<01>|<00>d<01>|<00>d<02>t<04>}td<03>}|<02>|<03>t<07>|_|j<08> tj
2025-08-31 20:35:59 +08:00
<EFBFBD>|<02>|j<08>t t j t j B<00>}|j<0E>|j<10>|j<11>|j<12>|<02>|<04>|<00>|<02>dS)Nu 输入密码i,u请输入sudo密码:)<14>super<65>__init__<5F>setWindowTitle<6C>setMinimumWidthrr<00> addWidgetr
<00>password_input<75> setEchoMode<64>Passwordr <00>Ok<4F>Cancel<65>accepted<65>connect<63>accept<70>rejected<65>reject<63> setLayout)<05>self<6C>parent<6E>layout<75>label<65>
button_box<EFBFBD><01> __class__<5F><00>Ic:\Users\xiaji\Documents\个人文件夹\夏骥\桌面部署\nginx_tab.pyr s 
2025-08-31 20:35:59 +08:00


 
zPasswordDialog.__init__cCs
|j<00><01>S<00>N)r<00>text<78>r!r(r(r)<00> get_password#szPasswordDialog.get_password)N)<06>__name__<5F>
__module__<EFBFBD> __qualname__rr-<00> __classcell__r(r(r&r)r
srcs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
2025-08-31 20:35:59 +08:00
S)<06>NginxInstallThreadu安装Nginx的线程cst<00><00><01>||_||_dSr*)rr<00>
ssh_client<EFBFBD>password)r!r3r4r&r(r)r*s
2025-08-31 20:35:59 +08:00
zNginxInstallThread.__init__c
Cs<><00>z<t<00>d<01>|j<02>d|j<04>d|j<04>d<04><05>\}}}|j<05><06>}|<02><07><00><08>}|<03><07><00><08>}|dk<02>rt<00>d<06>|j<02>d<07>\}}}|j<05><06>}|<02><07><00><08><00> <09>}|<03><07><00><08>} t<00>d|<07><00><02>t<00>d |<08><00><02>| r<>t<00>
d
| <09><00><02>|r<>|j <0B> d d |<08><00><02>t<00>d |<08><00><02>n|j <0B> d d<0E>t<00>
d<0E>n$|j <0B> d d|<06><00><02>t<00>
d|<06><00><02>WnJt k
<EFBFBD>r<>}
z*t|
<EFBFBD>} |j <0B> d | <0B>t<00>
d| <0B><00><02>W5d}
~
XYnXdS)Nu开始安装Nginx<6E>bash -c 'echo "z " | sudo -S apt update && echo "z!" | sudo -S apt install -y nginx'ru验证Nginx安装znginx -vuNginx版本检查状态: uNginx版本信息: uNginx版本检查错误: T<>Nginx安装成功: Fu&Nginx安装后无法获取版本信息<E4BFA1>Nginx安装失败: uNginx安装异常: )r<00>infor3<00> exec_commandr4<00>channel<65>recv_exit_status<75>read<61>decode<64>strip<69>error<6F> result_ready<64>emit<69> Exception<6F>str) r!<00>stdin<69>stdout<75>stderr<72> exit_status<75>outputr?<00>version_exit_statusZ nginx_version<6F> version_error<6F>e<> error_msgr(r(r)<00>run/s6
2025-08-31 20:35:59 +08:00
$
  


  zNginxInstallThread.run<75> r.r/r0<00>__doc__r<00>boolrCr@rrMr1r(r(r&r)r2&s
2025-08-31 20:35:59 +08:00
 r2cs4eZdZdZeee<06>Zd<07>fdd<04> Zdd<06>Z <09>Z
S)<08>NginxConfigThreadu 处理Nginx配置文件的线程<E7BABF>uploadcs,t<00><00><01>||_||_||_||_||_dSr*)rrr3<00>config_content<6E> config_pathr4<00> operation)r!r3rSrTr4rUr&r(r)rZs 
2025-08-31 20:35:59 +08:00
zNginxConfigThread.__init__c
Cs<><00>z:t<00>d|j<02>d|j<03><00><04>|jdk<02>r<>d}|j<04>d|<01>d|j<06>d<07><05>\}}}|j<07><08>}|dkr<>|<04> <09><00>
<EFBFBD>}|j <0B> d d
|<06><00><02>t<00> d
|<06><00><02>WdSd |j<0E>d |j<02>d |j<02>d<0E>}|j<04>|<07>\}}}|j<07><08>}|dkr<>|<04> <09><00>
<EFBFBD>}t<00>d|<06><00><02>d |j<0E>d|<01>d |j<02>d<11>} |j<04>| <09>\}}}|j<07><08>}
|
dk<02>rb|j <0B> dd|j<02><00><02>t<00>d|j<02><00><02>n0|<04> <09><00>
<EFBFBD>}|j <0B> d d|<06><00><02>t<00> d|<06><00><02>n<>|jdk<02>r:d |j<0E>d|j<02>d<11>} |j<04>| <0B>\}}}|j<07><08>}|dk<02>r
|<03> <09><00>
<EFBFBD>} |j <0B> d| <0C>t<00>d|j<02><00><02>n0|<04> <09><00>
<EFBFBD>}|j <0B> d d|<06><00><02>t<00> d|<06><00><02>WnJtk
<EFBFBD>r<>} z*t| <0A>}|j <0B> d |<0E>t<00> d|<0E><00><02>W5d} ~ XYnXdS)Nu开始处理Nginx配置文件: <20>
, 操作: rRz/tmp/nginx_config.conf<6E>cat > <20>
<< 'EOF'
<EFBFBD>
EOFrF<>创建临时文件失败: r5z" | sudo -S cp <20> z.bak'u备份原配置文件失败: <20>" | sudo -S mv <20>'Tu配置文件上传成功: u配置文件上传失败: <20>download<61>" | sudo -S cat u配置文件下载成功: u配置文件下载失败: uNginx配置文件处理异常: )rr8rTrUr3r9rSr:r;r<r=r@rAr?r4<00>warningrBrC)r!<00> temp_filerDrErFrGr?Z
backup_cmdZ backup_status<75>move_cmd<6D> move_status<75> download_cmdrSrKrLr(r(r)rMbsR "
2025-08-31 20:35:59 +08:00
 
 

  

  zNginxConfigThread.run)rRrNr(r(r&r)rQVs
2025-08-31 20:35:59 +08:00
rQcs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
S)<06>NginxControlThreadu控制Nginx服务的线程cs t<00><00><01>||_||_||_dSr*)rrr3r4<00>action)r!r3r4rfr&r(r)r<00>s
2025-08-31 20:35:59 +08:00
zNginxControlThread.__init__c
Cs<><00>zjt<00>d|j<02><00><02>|jdkr0d|j<03>d<04>}n<>|jdkrJd|j<03>d<06>}n||jdkrdd|j<03>d<08>}nb|jd kr~d|j<03>d
<EFBFBD>}nH|jd kr<>d|j<03>d <0C>}n.|j<04>d d|j<02><00><02>t<00>d|j<02><00><02>WdS|j<07>|<01>\}}}|j <09>
<EFBFBD>}|<03> <0B><00> <0C>}|<04> <0B><00> <0C>}|dk<02>r6|j<04>dd|j<02>d|<06><00><04>t<00>d|j<02>d<13><03>n4|j<04>d d|j<02>d|<07><00><04>t<00>d|j<02>d|<07><00><04>WnJt k
<EFBFBD>r<>}z*t|<08>} |j<04>d | <09>t<00>d| <09><00><02>W5d}~XYnXdS)Nu开始执行Nginx服务操作: <20>restartr5z$" | sudo -S systemctl restart nginx'<27>enablez#" | sudo -S systemctl enable nginx'<27>disablez$" | sudo -S systemctl disable nginx'<27>statusz#" | sudo -S systemctl status nginx'<27>
configtestz" | sudo -S nginx -t'Fu不支持的操作: rTzNginx u 操作成功
u 操作成功u 操作失败: uNginx服务控制异常: )rr8rfr4r@rAr?r3r9r:r;r<r=rBrC)
r!<00>commandrDrErFrGrHr?rKrLr(r(r)rM<00>s8
2025-08-31 20:35:59 +08:00





  
zNginxControlThread.runrNr(r(r&r)re<00>s
 recs2eZdZdZeee<06>Z<07>fdd<03>Zdd<05>Z <09>Z
S)<06>NginxPermissionsThreadu设置Nginx权限的线程cs t<00><00><01>||_||_||_dSr*)rrr3<00>commandsr4)r!r3rnr4r&r(r)r<00>s
zNginxPermissionsThread.__init__c
CsDz<>t<00>d<01>t|j<03>D]<5D>\}}t<00>d|d<00>dt|j<03><01>d|<02><00><06>d|j<05>d|<02>d<08>}|j<06>|<03>\}}}|j<08> <09>}|<05>
<EFBFBD><00> <0B>}|<06>
<EFBFBD><00> <0B>} |d kr<>d
|<02>d | <09><00>}
|j <0C> d |
<EFBFBD>t<00>|
<EFBFBD>WdSt<00>d |<02><00><02>qd} |j <0C> d| <0B>t<00>| <0B>WnJtk
<EFBFBD>r>} z*t| <0C>}
|j <0C> d |
<EFBFBD>t<00>d|
<EFBFBD><00><02>W5d} ~ XYnXdS)Nu#开始执行Nginx权限设置操作u 执行命令 <20><00>/z: r5z " | sudo -S r]ru命令执行失败: u
错误信息: Fu命令执行成功: u$所有权限设置命令执行成功TuNginx权限设置异常: )rr8<00> enumeratern<00>lenr4r3r9r:r;r<r=r@rAr?rBrC) r!<00>irl<00> full_commandrDrErFrGrHr?rL<00> success_msgrKr(r(r)rM<00>s,
&
  
zNginxPermissionsThread.runrNr(r(r&r)rm<00>s
 rmcs4eZdZdZeee<06>Zd<07>fdd<04> Zdd<06>Z <09>Z
S)<08>NginxSiteThreadu 处理Nginx站点配置的线程<E7BABF>createcs,t<00><00><01>||_||_||_||_||_dSr*)rrr3<00> site_config<69> site_namer4rU)r!r3rxryr4rUr&r(r)r<00>s 
zNginxSiteThread.__init__c
Cs<><00>zHt<00>d|j<02>d|j<03><00><04>|jdk<02>rHd|j<02><00>}d|j<02>d<06>}|j<04>d|<02>d|j<06>d <09><05>\}}}|j<07><08>}|d
2025-08-31 20:35:59 +08:00
kr<>|<05> <09><00>
<EFBFBD>}|j <0B> d d |<07><00><02>t<00> d |<07><00><02>WdSd |j<0E>d|<02>d|<01>d<10>}|j<04>|<08>\}}}|j<07><08>} | d
k<02>r|j <0B> dd|<01><00><02>t<00>d|<01><00><02>n0|<05> <09><00>
<EFBFBD>}|j <0B> d d|<07><00><02>t<00> d|<07><00><02><00>n|jdk<02>r<>d |j<0E>d|j<02>d<10>}
2025-08-31 20:35:59 +08:00
|j<04>|
<EFBFBD>\}}}|j<07><08>} | d
k<02>rd |j<0E>d|j<02>d<10>} |j<04>| <0C>\}}}|j<07><08>} | d
k<03>r|<05> <09><00>
<EFBFBD>}|j <0B> d d|<07><00><02>t<00> d|<07><00><02>WdSd |j<0E>d|j<02>d<19>}|j<04>|<0E>\}}}|j<07><08>}|d
k<02>rh|j <0B> dd|j<02><00><02>t<00>d|j<02><00><02>n0|<05> <09><00>
<EFBFBD>}|j <0B> d d|<07><00><02>t<00> d|<07><00><02>n<>|jdk<02>rHd|j<02><00>}d |j<0E>d|<01>d<10>}|j<04>|<0F>\}}}|j<07><08>}|d
k<02>r|<04> <09><00>
<EFBFBD>}|j <0B> d|<10>t<00>d|<01><00><02>n0|<05> <09><00>
<EFBFBD>}|j <0B> d d |<07><00><02>t<00> d |<07><00><02>WnJtk
<EFBFBD>r<>}z*t|<11>}|j <0B> d |<12>t<00> d!|<12><00><02>W5d}~XYnXdS)"Nu开始处理Nginx站点配置: rVrwz/etc/nginx/sites-available/z/tmp/z.confrWrXrYrFrZr5r\r[r]Tu 站点配置文件创建成功: u 站点配置文件创建失败: rhz-" | sudo -S test -f /etc/nginx/sites-enabled/z+" | sudo -S rm -f /etc/nginx/sites-enabled/u 删除现有符号链接失败: z-" | sudo -S ln -s /etc/nginx/sites-available/z /etc/nginx/sites-enabled/'u站点配置启用成功: u站点配置启用失败: r^z/etc/nginx/sites-enabled/r_u 站点配置文件下载成功: u 站点配置文件下载失败: uNginx站点配置处理异常: )rr8ryrUr3r9rxr:r;r<r=r@rAr?r4rBrC)r!Z site_pathrarDrErFrGr?rbrcZ check_cmdZ check_statusZ
remove_cmdZ remove_statusZ
enable_cmdrdrSrKrLr(r(r)rMsv  "
2025-08-31 20:35:59 +08:00
 

  
2025-08-31 20:35:59 +08:00



 

   

  zNginxSiteThread.run)rwrNr(r(r&r)rv<00>s
rvcs eZdZ<02>fdd<02>Zdd<04>Zdd<06>Zdd<08>Zd d
2025-08-31 20:35:59 +08:00
<EFBFBD>Zd d <0C>Zd d<0E>Z dd<10>Z
dd<12>Z dd<14>Z dd<16>Z dd<18>Zdd<1A>Zdd<1C>Zdd<1E>Zdd <20>Zd!d"<22>Zd#d$<24>Zd%d&<26>Zd'd(<28>Zd)d*<2A>Zd+d,<2C>Zd-d.<2E>Zd/d0<64>Zd1d2<64>Zd3d4<64>Zd5d6<64>Zd7d8<64>Zd9d:<3A>Zd;d<<3C>Z d=d><3E>Z!<21>Z"S)?<3F>NginxTabcs.t<00><00><01>d|_d|_d|_d|_|<00><06>dS)N<>)rrr3<00>username<6D> project_name<6D> server_ip<69>init_uir,r&r(r)r_s 
zNginxTab.__init__cCs<>t<00>}t<01>}td<01>|_|jj<04>|j<06>|<02>|j<03>|<01>|<02>t<00>}|<03>t d<02><01>t
2025-08-31 20:35:59 +08:00
<EFBFBD>|_ |j <0B> d<03>|<03>|j <0B>t<01>}td<04>|_ |j j<04>|j<0E>|<04>|j <0A>td<05>|_|jj<04>|j<10>|<04>|j<0F>|<03>|<04>|<01>|<03>t<00>}|<05>t d<06><01>t
<EFBFBD>|_|j<11> d<03>|<05>|j<11>t<01>}td<07>|_|jj<04>|j<13>|<06>|j<12>td<08>|_|jj<04>|j<15>|<06>|j<14>td <09>|_|jj<04>|j<17>|<06>|j<16>td
<EFBFBD>|_|jj<04>|j<19>|<06>|j<18>td <0B>|_|jj<04>|j<1B>|<06>|j<1A>|<05>|<06>|<01>|<05>t<01>}td <0C>|_|jj<04>|j<1D>|<07>|j<1C>td <0A>|_|jj<04>|j<1F>|<07>|j<1E>td<0E>|_ |j j<04>|j!<21>|<07>|j <20>|<01>|<07>t
<EFBFBD>|_"|j"<22> d<0F>|<01>|j"<22>|<00>#|<01>|<00>$<24>dS)N<> 安装NginxuNginx主配置文件编辑器:F<>下载主配置文件<E69687>上传主配置文件uNginx站点配置编辑器:<3A>创建站点配置<E9858D>启用站点配置u下载站点配置u添加静态文件映射u修改为Unix Socket连接<E8BF9E> 重启Nginx<6E>查看Nginx状态<E78AB6>一键赋予权限T)%rrrZinstall_nginx_btn<74>clickedr<00> install_nginxr<00> addLayoutrr<00>main_config_editor<6F> setReadOnlyZdownload_main_config_btn<74>download_main_configZupload_main_config_btn<74>upload_main_config<69>site_config_editorZcreate_site_config_btn<74>create_site_configZenable_site_config_btn<74>enable_site_configZdownload_site_config_btn<74>download_site_configZadd_static_mappings_btn<74>add_static_mappingsZmodify_to_unix_socket_btn<74>modify_to_unix_socketZrestart_nginx_btn<74> restart_nginxZcheck_nginx_status_btn<74>check_nginx_statusZset_permissions_btn<74>set_permissions<6E> output_textr <00>init_config_content)r!r#Zinstall_layoutZmain_config_layoutZmain_config_btn_layoutZsite_config_layoutZsite_config_btn_layoutZcontrol_layoutr(r(r)rgsv
2025-08-31 20:35:59 +08:00
 
  
 
 

  
 
 
 
 
2025-08-31 20:35:59 +08:00
 


 
 
2025-08-31 20:35:59 +08:00
 
  
zNginxTab.init_uicCsld}|j<00>|<01>d}|d7}|d7}|d7}|d7}|d7}|d7}|d 7}|d
7}|d 7}|j<02>|<02>d S) u初始化配置文件内容u<E5AEB9>
# 全局块配置Nginx进程的基本运行参数
user www-data; # Nginx进程运行的用户/组默认是www-data不是你的登录用户xiaji
worker_processes auto; # 工作进程数auto表示自动匹配CPU核心数
pid /run/nginx.pid; # Nginx进程PID文件路径
include /etc/nginx/modules-enabled/*.conf; # 加载启用的模块配置
# events块配置Nginx与客户端的网络连接
events {
worker_connections 768; # 每个工作进程的最大并发连接数
# multi_accept on; # 可选:允许工作进程同时接受多个连接(默认注释)
}
# http块配置HTTP服务的全局参数核心部分
http {
##
# 基础配置
##
sendfile on; # 启用高效文件传输模式
tcp_nopush on; # 配合sendfile使用优化TCP传输
tcp_nodelay on; # 禁用Nagle算法减少小数据包延迟
keepalive_timeout 65; # 长连接超时时间(秒)
types_hash_max_size 2048; # 类型哈希表的最大大小优化MIME类型查找
include /etc/nginx/mime.types; # 加载MIME类型映射文件
default_type application/octet-stream; # 默认MIME类型未匹配时返回二进制流
##
# 日志配置
##
access_log /var/log/nginx/access.log; # 访问日志路径
error_log /var/log/nginx/error.log; # 错误日志路径
##
# SSL/TLS配置全局默认值
##
ssl_protocols TLSv1.2 TLSv1.3; # 支持的SSL/TLS协议禁用不安全的旧协议
ssl_prefer_server_ciphers on; # 优先使用服务器端指定的加密套件
##
# Gzip压缩配置
##
gzip on; # 启用Gzip压缩
# gzip_vary on; # 可选在响应头添加Vary: Accept-Encoding默认注释
# gzip_proxied any; # 可选:对代理请求也启用压缩(默认注释)
# gzip_comp_level 6; # 可选压缩级别1-9默认6默认注释
# gzip_buffers 16 8k; # 可选:压缩缓冲区大小(默认注释)
# gzip_http_version 1.1; # 可选支持的HTTP版本默认注释
# gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript; # 可选指定压缩的MIME类型默认注释
##
# 加载站点配置关键默认站点配置不在nginx.conf里而是通过include引入
##
include /etc/nginx/conf.d/*.conf; # 加载conf.d目录下的自定义配置
include /etc/nginx/sites-enabled/*; # 加载启用的站点配置(默认站点在这里)
}
# 可选加载流处理配置如TCP/UDP代理默认注释
# include /etc/nginx/streams-enabled/*.conf;z server {
z listen 80;
u! server_name 【IP地址】;
u$ # 转发动态请求到Gunicorn
z location / {
u/ proxy_pass http://【IP地址】:8000;
z% proxy_set_header Host $host;
z1 proxy_set_header X-Real-IP $remote_addr;
<EFBFBD> }
2025-08-31 20:35:59 +08:00
z}
N)r<><00> setPlainTextr<74><00>r!Zmain_config_contentZsite_config_contentr(r(r)r<><00>s= zNginxTab.init_config_contentcCsL|j<00><01>}|<01>d|j<03>}|j<00>|<01>|j<05><01>}|<02>d|j<06>}|j<05>|<02>dS)u更新配置文件内容Zxiajiu【IP地址】N)r<><00> toPlainText<78>replacer|r<>r<>r~r<>r(r(r)<00>update_config_content"s 
2025-08-31 20:35:59 +08:00
 
zNginxTab.update_config_contentcCs||_t<01>d<01>dS)u设置SSH客户端u#Nginx标签页已设置SSH客户端N)r3rr8)r!r3r(r(r)<00>set_ssh_client.szNginxTab.set_ssh_clientcCs||_t<01>d|<01><00><02>dS)u设置用户名u"Nginx标签页已设置用户名: N)r|rr8)r!r|r(r(r)<00> set_username3szNginxTab.set_usernamecCs.||_||_t<02>d|<01>d|<02><00><04>|<00><04>dS)u设置项目信息u%Nginx标签页已设置项目信息: z, N)r}r~rr8r<>)r!r}r~r(r(r)<00>set_project_info8szNginxTab.set_project_infocCs|j<00>|<01>dS)u添加输出到文本框N)r<><00>append)r!r+r(r(r)<00> append_outputAszNginxTab.append_outputcCst|js|<00>d<01>dSt|<00>}|<01><03>tjkrf|<01><06>}|<00>d<03>t|j|<02>|_|jj <09>
2025-08-31 20:35:59 +08:00
|j <0B>|j<08> <0C>n
|<00>d<04>dS)r<><00>错误: 未连接到服务器Nu正在安装Nginx...<2E>用户取消了密码输入) r3r<>r<00>exec_r <00>Acceptedr-r2<00>install_threadr@r<00>on_install_result<6C>start<72>r!<00>dialogr4r(r(r)r<>Es
2025-08-31 20:35:59 +08:00

 zNginxTab.install_nginxcCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理安装结果u安装成功: r6<00>成功u安装失败: r7<00>错误N<E8AFAF>r<>rr8r <00> informationr?r`<00>r!<00>success<73>messager(r(r)r<>XszNginxTab.on_install_resultcCsz|js|<00>d<01>dSt|<00>}|<01><03>tjkrl|<01><06>}|<00>d<03>t|jdd|d<06>|_|jj <09>
2025-08-31 20:35:59 +08:00
|j <0B>|j<08> <0C>n
|<00>d<07>dS)r<>r<>Nu#正在下载Nginx主配置文件...r{<00>/etc/nginx/nginx.confr^r<>) r3r<>rr<>r r<>r-rQ<00> config_threadr@r<00>on_download_main_config_resultr<74>r<>r(r(r)r<>cs
2025-08-31 20:35:59 +08:00

 zNginxTab.download_main_configcCsJ|r&|j<00>|<02>|<00>d<01>t<03>d<02>n |<00>d|<02><00><02>t<03>d|<02><00><02>dS)u!处理下载主配置文件结果u主配置文件下载成功u Nginx主配置文件下载成功u主配置文件下载失败: u"Nginx主配置文件下载失败: N)r<>r<>r<>rr8r?r<>r(r(r)r<>vs  
2025-08-31 20:35:59 +08:00
 z'NginxTab.on_download_main_config_resultcCs<>|js|<00>d<01>dS|j<02><03>}t|<00>}|<02><05>tjkrv|<02><08>}|<00>d<03>t |j|d|d<05>|_
|j
j <0B> |j <0A>|j
<EFBFBD><0E>n
|<00>d<06>dS)r<>r<>Nu#正在上传Nginx主配置文件...r<>rRr<>)r3r<>r<>r<>rr<>r r<>r-rQr<>r@r<00>on_upload_main_config_resultr<74>)r!rSr<>r4r(r(r)r<><00>s
2025-08-31 20:35:59 +08:00


 zNginxTab.upload_main_configcCs<>|r<>|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>|<00>d<04>t|<00>}|<03><06>tjkr<>|<03> <09>}t
|j |d<05>|_ |j j <0A>|j<0F>|j <0C><10>q<>|<00>d<06>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d d|<02><00><02>d
S) u!处理上传主配置文件结果u上传成功: u"Nginx主配置文件上传成功: r<><00>&正在检查Nginx配置文件语法...rkr<>u上传失败: u"Nginx主配置文件上传失败: r<>N)r<>rr8r r<>rr<>r r<>r-rer3<00> check_threadr@r<00>on_upload_configtest_resultr<74>r?r`<00>r!r<>r<>r<>r4r(r(r)r<><00>s
  z%NginxTab.on_upload_main_config_resultcCsR|r|<00>d<01>t<01>d<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<04>|dd|<02><00><02>dS)u3处理上传主配置文件后的配置测试结果<E7BB93>配置文件语法检查通过u/Nginx主配置文件上传后语法检查通过<E9809A> 配置文件语法检查失败: u1Nginx主配置文件上传后语法检查失败: r<><00>%Nginx配置文件语法检查失败: N<>r<>rr8r?r r`r<>r(r(r)r<><00>s 
2025-08-31 20:35:59 +08:00
 z$NginxTab.on_upload_configtest_resultcCs<>|js|<00>d<01>dS|js(|<00>d<03>dS|j<03><04>}t|<00>}|<02><06>tjkr<>|<02> <09>}|<00>d|j<02>d<05><03>t
|j||j|d<06>|_ |j j <0C> |j<0E>|j <0B><0F>n
|<00>d<07>dS)r<>r<>N<>错误: 未设置项目名u 正在创建站点配置文件: <20>...rwr<>)r3r<>r}r<>r<>rr<>r r<>r-rv<00> site_threadr@r<00>on_create_site_config_resultr<74>)r!rxr<>r4r(r(r)r<><00>s
2025-08-31 20:35:59 +08:00


 zNginxTab.create_site_configcCs<>|r<>|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>|<00>d<04>t|<00>}|<03><06>tjkr<>|<03> <09>}t
|j |d<05>|_ |j j <0A>|j<0F>|j <0C><10>q<>|<00>d<06>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d d|<02><00><02>d
S) u处理创建站点配置结果u创建成功: uNginx站点配置创建成功: r<>r<>rkr<>u创建失败: uNginx站点配置创建失败: r<>N)r<>rr8r r<>rr<>r r<>r-rer3r<>r@r<00>on_create_configtest_resultr<74>r?r`r<>r(r(r)r<><00>s
  z%NginxTab.on_create_site_config_resultcCsR|r|<00>d<01>t<01>d<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<04>|dd|<02><00><02>dS)u6处理创建站点配置文件后的配置测试结果r<E69E9C>u2Nginx站点配置文件创建后语法检查通过r<E8BF87>u4Nginx站点配置文件创建后语法检查失败: r<>r<>Nr<4E>r<>r(r(r)r<><00>s 
2025-08-31 20:35:59 +08:00
 z$NginxTab.on_create_configtest_resultcCs<>|js|<00>d<01>dS|js(|<00>d<03>dSt|<00>}|<01><04>tjkr<>|<01><07>}|<00>d|j<02>d<05><03>t|jd|j|d<07>|_ |j j
<EFBFBD> |j <0C>|j <09> <0A>n
|<00>d<08>dS) r<>r<>Nr<4E>u正在启用站点配置: r<>r{rhr<>)r3r<>r}rr<>r r<>r-rvr<>r@r<00>on_enable_site_config_resultr<74>r<>r(r(r)r<><00>s
2025-08-31 20:35:59 +08:00

 zNginxTab.enable_site_configcCs<>|r<>|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>|<00>d<04>t|<00>}|<03><06>tjkr<>|<03> <09>}t
|j |d<05>|_ |j j <0A>|j<0F>|j <0C><10>q<>|<00>d<06>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d d|<02><00><02>d
S) u处理启用站点配置结果u启用成功: uNginx站点配置启用成功: r<>r<>rkr<>u启用失败: uNginx站点配置启用失败: r<>N)r<>rr8r r<>rr<>r r<>r-rer3r<>r@r<00>on_enable_configtest_resultr<74>r?r`r<>r(r(r)r<> s
  z%NginxTab.on_enable_site_config_resultcCsR|r|<00>d<01>t<01>d<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<04>|dd|<02><00><02>dS)u*处理启用站点后的配置测试结果r<E69E9C>u,Nginx站点配置启用后语法检查通过r<E8BF87>u.Nginx站点配置启用后语法检查失败: r<>r<>Nr<4E>r<>r(r(r)r<>'s 
 z$NginxTab.on_enable_configtest_resultcCs<>|js|<00>d<01>dS|js(|<00>d<03>dSt|<00>}|<01><04>tjkr<>|<01><07>}|<00>d|j<02>d<05><03>t|jd|j|d<07>|_ |j j
<EFBFBD> |j <0C>|j <09> <0A>n
|<00>d<08>dS) u下载站点配置文件r<E4BBB6>Nr<4E>u 正在下载站点配置文件: r<>r{r^r<>)r3r<>r}rr<>r r<>r-rvr<>r@r<00>on_download_site_config_resultr<74>r<>r(r(r)r<>1s

 zNginxTab.download_site_configcCsf|r.|j<00>|<02>|<00>d<01>t<03>d<02>|<00><05>n4|<00>d|<02><00><02>t<03>d|<02><00><02>t<07>|dd|<02><00><02>dS)u处理下载站点配置结果u站点配置文件下载成功u#Nginx站点配置文件下载成功u下载失败: u%Nginx站点配置文件下载失败: r<>N) r<>r<>r<>rr8r<>r?r r`r<>r(r(r)r<>Hs 


z'NginxTab.on_download_site_config_resultc
Cs0<00>z<>tdddd<04><03>}t<01>|<01>}W5QRXtt|<02><05><00><01>}|<03>dd<06>}|<03>dd<06>}|<03>dd<06>}|r<>d |kr<>|<06>d <09>d
}|<07>d <0B>r<>|d d <0A>}q<>d}nd}d|<04>d |<07>d |<05>d<10>}d|<04>d |<07>d |<05>d<11>} |j <09>
<EFBFBD>}
d|
k<07>r<>d|<04>d |<07>d |<05>d<14>} | d7} | d|<08>d<17>7} | d7} | d7} | d|<04>d |<07>d |<05>d<1B>7} | d7} | d| <09>d<17>7} | d7} | d7} |
<EFBFBD> d<1D>} | d
k<03>r<>|
d | <0C>| |
| d <0C>} |j <09> | <0A>|<00> d<1E>t<0E>d<1E>n|<00> d<1F>t<0E>d<1F>n|<00> d <20>t<0E>d <20>WnLtk
<EFBFBD>r*}z,t|<0E>}|<00> d!|<0F><00><02>t<0E>d!|<0F><00><02>W5d }~XYnXd S)"u添加静态文件映射配置<E9858D> config.json<6F>r<>utf-8<><01>encodingr|r{<00>project<63>git_urlrp<00><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.gitN<74><4E><EFBFBD><EFBFBD><EFBFBD><EFBFBD> webstatusz/home/z/staticz/mediazlocation /static/u)
# 静态文件映射 (路径: /home/z /static)
z location /static/ {
z alias z/;
z expires 30d;
r<EFBFBD>u)
# 媒体文件映射 (路径: /home/z/media)
z location /media/ {
<EFBFBD>}u!已添加静态文件映射配置uH无法添加静态文件映射配置未找到server块的结束位置u'配置文件已包含静态文件映射u 添加静态文件映射失败: )<14>open<65>json<6F>load<61>next<78>iter<65>values<65>get<65>split<69>endswithr<68>r<><00>rfindr<64>r<>rr8r`rBrCr?)r!<00>f<>config<69> server_configr|r}r<>Zgit_project_nameZ static_pathZ
media_path<EFBFBD>current_configZstatic_mappingZlast_brace_pos<6F>
new_configrKrLr(r(r)r<>WsT   




 
 
 
zNginxTab.add_static_mappingsc
Cs<><00>z:tdddd<04><03>}t<01>|<01>}W5QRXtt|<02><05><00><01>}|<03>dd<06>}|<03>dd<06>}|r<>d|kr<>|<05>d<08>d }|<06>d
<EFBFBD>r<>|d d <0C>}q<>d }nd }d|<04>d|<06>d<0F>}|j <09>
<EFBFBD>}dd l } d}
d|<07>d<13>} | <09> |
| |<08>} | |k<03>r|j <09> | <0C>|<00>d|<07><00><02>t<0F>d|<07><00><02>n4||k<06>r&|<00>d<15>t<0F>d<15>n|<00>d<16>t<0F>d<16>WnLtk
<EFBFBD>r<>} z,t| <0A>}|<00>d|<0E><00><02>t<0F>d|<0E><00><02>W5d } ~ XYnXd S)u<修改站点配置文件中的proxy_pass为Unix socket连接r<E68EA5>r<>r<>r<>r|r{r<>rpr<>r<>Nr<4E>r<>zhttp://unix:/home/z/sock/gunicorn.sockrz,(\s+proxy_pass\s+)(http://[^;]+|unix:[^;]+);<3B><01>;u已将proxy_pass修改为: u&配置文件已经是Unix socket连接u%未找到可修改的proxy_pass配置u"修改为Unix socket连接失败: )r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<><00>re<72>subr<62>r<>rr8r`rBrCr?)r!r<>r<>r<>r|r<>r}Zunix_socket_pathr<68>r<><00>patternZ replacementr<74>rKrLr(r(r)r<><00>s@  

 
 

 
zNginxTab.modify_to_unix_socketcCsv|js|<00>d<01>dSt|<00>}|<01><03>tjkrh|<01><06>}|<00>d<03>t|j|d<04>|_|jj <09>
2025-08-31 20:35:59 +08:00
|j <0B>|j<08> <0C>n
|<00>d<05>dS)r<>r<>Nr<4E>rkr<>) r3r<>rr<>r r<>r-rer<>r@r<00>on_configtest_resultr<74>r<>r(r(r)r<><00>s
2025-08-31 20:35:59 +08:00

 zNginxTab.restart_nginxcCs<>|rd|<00>d<01>t|<00>}|<03><02>tjkrX|<03><05>}t|j|d<02>|_|jj <09>
|j <0B>|j<08> <0C>q<>|<00>d<03>n4|<00>d|<02><00><02>t <0A>d|<02><00><02>t<0F>|dd|<02><00><02>dS)u处理配置测试结果u5配置文件语法检查通过正在重启Nginx...rgr<>r<>r<>r<>N)r<>rr<>r r<>r-rer3<00>control_threadr@r<00>on_control_resultr<74>rr?r r`r<>r(r(r)r<><00>s
2025-08-31 20:35:59 +08:00
  zNginxTab.on_configtest_resultcCsv|js|<00>d<01>dSt|<00>}|<01><03>tjkrh|<01><06>}|<00>d<03>t|j|d<04>|_|jj <09>
|j <0B>|j<08> <0C>n
|<00>d<05>dS)r<>r<>Nu正在查看Nginx状态...rjr<>) r3r<>rr<>r r<>r-rer<>r@rr<>r<>r<>r(r(r)r<><00>s
2025-08-31 20:35:59 +08:00

 zNginxTab.check_nginx_statuscCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理控制结果u操作成功: uNginx服务控制成功: r<>u操作失败: uNginx服务控制失败: r<>Nr<4E>r<>r(r(r)r<>szNginxTab.on_control_resultc Cs<>|js|<00>d<01>dSz<>tdddd<06><03>}t<03>|<01>}W5QRXtt|<02><07><00><01>}|<03>dd<08>}|<03>d d<08>}|r<>d
|kr<>|<05> d
<EFBFBD>d }|<06>
d <0C>r<>|dd <0A>}q<>d}nd}t <0B> d|<04>d|<06><00><04>Wnft k
<EFBFBD>r}zFt|<07>}|<00>d|<08><00><02>t <0B>d|<08><00><02>t<10>|dd|<08><00><02>WY<00>dSd}~XYnXt|<00>} | <09><13>tjk<02>r<>| <09><16>}
|<00>d<13>d|<04>d
<EFBFBD>d|<04>d|<04>d
|<06><00>d|<04>d
|<06><00>d|<04>d|<04>d
|<06>d<17>d|<04>d
|<06>d<17>d|<04><00>d|<04><00>d|<04>d
|<06>d<1C>g} t|j| |
<EFBFBD>|_|jj<19>|j<1B>|j<18><1C>n
|<00>d<1D>dS)r<>r<>Nr<4E>r<>r<>r<>r|r{r<>rpr<>r<>r<>r<>u 从配置文件获取用户名: u , 项目名: u读取配置文件失败: r<>u正在设置权限...zsudo chmod g+x /home/zsudo chown -R z:www-data /home/z/sockzsudo chmod -R 770 /home/zsudo chmod o+r /home/z ls -ld /home/zsudo -u www-data ls /home/z/static/admin/css/r<>)r3r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>rr8rBrCr?r r`rr<>r r<>r-rmZpermissions_threadr@r<00>on_permissions_resultr<74>) r!r<>r<>r<>r|r<>r}rKrLr<>r4rnr(r(r)r<>sP
  


<10> zNginxTab.set_permissionscCsl|r4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|d|<02>n4|<00>d|<02><00><02>t<01>d|<02><00><02>t<03>|dd|<02><00><02>dS)u处理权限设置结果u权限设置成功: r<>u权限设置失败: r<>Nr<4E>r<>r(r(r)r<>\szNginxTab.on_permissions_result)#r.r/r0rrr<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r1r(r(r&r)rz^s> lO   
2025-08-31 20:35:59 +08:00



E9 Arz)<1B>os<6F>sysr<73><00>PySide6.QtWidgetsrrrrrrrr r
r r <00>PySide6.QtCorer r<00>logururrr2rQrermrvrzr(r(r(r)<00><module>s4 0I/-c