터미널에 접근할 수 있나요?

터미널에 접근할 수 있나요?

Python으로 작성되고 gunicorn 서비스로 게시된 플라스크 앱이 있지만 서비스가 터미널과 통신하지 않으므로 pexpect 모듈을 사용할 수 없다는 것을 알게 되었습니다. 서비스가 터미널에 도달하는 방법이 있나요? Gunicorn 서비스 파일과 Python 코드는 다음 위치에서 사용할 수 있습니다.이 스택 오버플로 링크.

Nginx 세션;

server{
    server_name panel.xxxx.com;
    
    location / {
        proxy_pass http://unix:/root/flaskapp/flaskapp.sock;
        #proxy_pass http://127.0.0.1:8000;
        include proxy_params;

}
    location /phpmyadmin {
           root /usr/share/;
           index index.php index.html index.htm;
           location ~ ^/phpmyadmin/(.+\.php)$ {
                   try_files $uri =404;
                   root /usr/share/;
                   fastcgi_pass unix:/run/php/php7.2-fpm.sock;
                   fastcgi_index index.php;
                   fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                   include /etc/nginx/fastcgi_params;
           }
           location ~* ^/phpmyadmin/(.+\.(jpg|jpeg|gif|css|png|js|ico|html|xml|txt))$ {
                   root /usr/share/;
           }
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/panel.xxx.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/panel.xxx.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}server{
    if ($host = panel.xxxx.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    server_name panel.xxxx.com;
    return 404; # managed by Certbot


}

Gunicorn3 컨퍼런스;

[Unit]
Description=Gunicorn service
After=network.target

[Service]

User=root
Group=www-data
WorkingDirectory=/root/flaskapp
ExecStart=/usr/bin/gunicorn3 --workers 3 --bind unix:flaskapp.sock -m 007 app:app --timeout 300 --config /root/flaskapp/gunicorn.conf.py 


[Install]
WantedBy=multi-user.target

답변1

screentmux"외부" 터미널에서 이 가상 터미널 내에서 애플리케이션을 실행하고 연결할 수 있습니다 .

ExecStart=/usr/bin/screen -d -m -S gunicorn3 /usr/bin/gunicorn3 --workers 3 --bind unix:flaskapp.sock -m 007 app:app --timeout 300 --config /root/flaskapp/gunicorn.conf.py

systemd-run이 옵션은 애플리케이션을 수동으로 시작할 수 있는 경우 --pty유용할 수 있습니다 .

관련 정보