AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / 问题

Perguntas[python](server)

Martin Hope
Chenghao Wang
Asked: 2024-08-26 14:46:53 +0800 CST

Por que "python3" tem uma versão diferente de "python3.12" quando eles são vinculados de forma flexível?

  • 6

Em /bin, eu corri:

$ ls -l python3
lrwxrwxrwx 1 root root 10 Aug 8 01:44 python3 -> python3.12
$ python3 --version
Python 3.12.3
$ python3.12 --version
Python 3.12.5

Alguém pode explicar por que um é "Python 3.12.3 " e o outro é "Python 3.12.5 " quando eles são vinculados simbolicamente?

python
  • 3 respostas
  • 590 Views
Martin Hope
user984993
Asked: 2023-06-22 09:56:15 +0800 CST

Ansible envia nomes de host em uma lista para o script python

  • 6

Eu queria enviar os nomes de host da função ansible para o script python. No meu arquivo host, existem 2 hosts 1ld900 e 1ld901.

meu papel como abaixo

 ---
    - name:execute python
      script: writetoexcel.py {{ ansible_play_hosts_all | join(" ") }}
      args:
        executable: python3
      delegate_to: localhost

Mas, ao passá-lo, passe alguns "[" extras para o script python. como abaixo e também há apenas um índice na lista.

[['1ld900','1ld901']]

sem a junção, ele está enviando algum outro caractere de lixo marcado em negrito

 "[['**[u**1ld900,', '**u**1ld901**]**']]

por favor, ajude-me a enviar uma lista limpa para o script python como abaixo

["1ld900","1ld901"]
python
  • 1 respostas
  • 25 Views
Martin Hope
George Y
Asked: 2023-04-11 21:09:00 +0800 CST

Como ativar automaticamente um ambiente python quando o comando 'source' não funciona?

  • 5

Eu configurei um ambiente python no caminho \pyenv\1st\ por

cd /
mkdir pyenv
python3 -m venv /pyenv/1st

O método oficial para ativar este ambiente é digitar este comando manualmente:

. /pyenv/1st/bin/activateou source /pyenv/1st/bin/activate,

o que resultará na (1st)frente do prompt e carregará as bibliotecas python correspondentes.

Quero economizar digitação e colocar este comando em um arquivo mypy, mas sh mypynão vou alterar o terminal atual para o 1stambiente python enquanto digito manualmente esse comando. Adicionar esse comando \etc\bashrctambém não ajudará. Ouvi dizer que o sourcecomando terminará no subprocesso, sh mypymas não afetará o terminal.

Alguém pode resolver este problema? Um comando simples ou carregar automaticamente esse ambiente ao abrir um terminal ajudará. Desde já, obrigado.

python
  • 1 respostas
  • 17 Views
Martin Hope
norinori
Asked: 2022-11-03 05:58:52 +0800 CST

Ansible: "Você precisa instalar 'jmespath' antes de executar o filtro json_query", mas está instalado

  • 5

Estou usando o Ansible sobre Python3 e Enterprise Linux 8 (Rocky Linux 8).
Quando tento usar json_query, recebo o seguinte erro:

fatal: [ansible]: FAILED! => {"msg": "You need to install \"jmespath\" prior to running json_query filter"}

Mas o módulo Python parece já estar instalado:

# dnf install python3-jmespath
Last metadata expiration check: 1:44:38 ago on Mi 02 Nov 2022 12:54:28 CET.
Package python3-jmespath-0.9.0-11.el8.noarch is already installed.
Dependencies resolved.
Nothing to do.
Complete!

# pip3 install jmespath
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Requirement already satisfied: jmespath in /usr/lib/python3.6/site-packages

Testei jmespathem um interpretador Python interativo, que está rodando corretamente, sem erro. Isso parece confirmar que o módulo Python está instalado e funciona corretamente.

Parece que o problema ocorre apenas ao usar o Ansible.
Aqui está o playbook que estou usando para testar:

---
- name: test json_query
  hosts: ansible
  vars:
    data:
      list1:
        one: 
          name: "hello"
        two: 
          name: "world"
  tasks:
    - name: search variable
      ansible.builtin.debug:
        var: item
      loop: "{{ data | community.general.json_query('list1[*].name') }}"

o que estou perdendo?

python
  • 2 respostas
  • 279 Views
Martin Hope
Rino Bino
Asked: 2022-10-01 13:46:05 +0800 CST

Limpando o espaço de trabalho do Jenkins, mas mantendo o .venv do Python intacto

  • 1

Esta questão se refere a trabalhar com um projeto Python + Poetry em um pipeline Jenkins e como manter o.venv/


CENÁRIO:

Eu tenho um trabalho do Jenkins Pipeline que aciona um projeto Python. O projeto usa poesia para criar um ambiente virtual em .venv dentro do espaço de trabalho. A cada execução de trabalho subsequente, ele reutilizará o .venv conforme o esperado, de modo que cada pacote pip não precise ser baixado novamente a cada execução (a menos que haja um diff no arquivo poet.lock). Tudo funciona como esperado.

Eu quero fazer uma alteração no Pipeline usando o Jenkins Workspace Cleanup Plugin, quero destruir os arquivos do espaço de trabalho, mas manter alguns arquivos, incluindo os arquivos de ambiente pip/poetry/venv . Isso é para permitir que ele reutilize pacotes pip da execução anterior ainda armazenados em .venv -- assim como faz no Pipeline de trabalho hoje.

O exemplo de arquivo de pipeline completo está na parte inferior deste post, mas aqui está um trecho da parte cleanWs() que adicionei ao pipeline existente:

post {
  always {
    cleanWs(
      deleteDirs: true,
      notFailBuild: true,
      patterns: [
        [pattern: '.venv', type: 'EXCLUDE'],
        [pattern: '.venv/**', type: 'EXCLUDE']
      ]
    )
  }
}

AQUI ESTÁ A QUESTÃO:

  • Na primeira vez que o trabalho é executado, ele funciona perfeitamente e a limpeza do espaço de trabalho funciona conforme o esperado. O .venv/diretório é mantido conforme o esperado.

  • (problema) Em execuções subsequentes do trabalho, o Poesia reinstalará todos os pacotes e não reutilizará o diretório .venv :

    Creating virtualenv test in /data/jenkins_home/workspace/test-cleanup/.venv-- Isso força um novo download completo de cada pacote, mesmo que .venvjá exista. Foi confirmado que /data/jenkins_home/workspace/test-cleanup/.venvjá existe antes da execução do trabalho.

  • Aqui está a parte estranha: se eu for para o diretório do espaço de trabalho manualmente no servidor Jenkins e executar exatamente o mesmo comando poetry install , ele funcionará conforme o esperado, .venvserá reutilizado e todos os pacotes não serão reinstalados. Portanto, há algo específico sobre a maneira como ele é tratado em execução no trabalho que está fazendo com que ele queira recriar o diretório .venv.

NOTA que in-project = truejá está definido para Poesia. Portanto, ele sempre tentará usar .venv dentro do diretório de trabalho atual.


EXEMPLOS:

Aqui está um pipeline de exemplo simples que funciona conforme o esperado. Quando poetry installa etapa é executada, ela não baixa novamente todos os pacotes toda vez que o trabalho é executado, apenas na primeira vez ou se houver uma diferença:

pipeline {

  agent any

  stages {

    stage("Prep Build Environment") {
      steps {

        script {
          scmVars = git branch: "main", poll: false, url: "[email protected]:my-org/private-repo.git"
        }

        sh "poetry install"
      }
    }
  }
}

Aqui está o novo arquivo de pipeline Jenkinsfile com cleanWs()adicionado. Depois que isso for adicionado, o projeto não reutilizará mais o .venv em cada execução, mesmo que ele ainda exista:

pipeline {

  agent any

  stages {

    stage("Prep Build Environment") {
      steps {

        script {
          scmVars = git branch: "main", poll: false, url: "[email protected]:my-org/private-repo.git"
        }

        sh "poetry install"
      }
    }
  }

  post {
    always {
      cleanWs(
        deleteDirs: true,
        notFailBuild: true,
        patterns: [
          [pattern: '.venv', type: 'EXCLUDE'],
          [pattern: '.venv/**', type: 'EXCLUDE']
        ]
      )
    }
  }

}
python
  • 2 respostas
  • 60 Views
Martin Hope
questionto42standswithUkraine
Asked: 2022-08-25 11:07:07 +0800 CST

Por que escrever em uma pasta de trabalho de alguns MB com o módulo openpyxl do Python consome Gigabytes de RAM?

  • 0

Encontrei um código antigo em um servidor legado que grava a partir de um conjunto de dados de aproximadamente 20 colunas e > 60 mil linhas item por item em um arquivo do Excel usando openpyxl. Ele faz isso preenchendo cada célula por conta própria (da maneira lenta, mas também não tão lenta, pois tudo é feito após alguns minutos e com a formatação das células):

cell = ws.cell('%s%s' % (col_idx, i + 3))
cell.value = unicode(value).encode("utf-8")
get_style(cell, "content", column_colors[col_id])

Em aproximadamente 59 mil linhas, ele trava, o console imprime:

Killed

Os registros mostram:

Received SIGTERM, shutting down.

O SIGTERM sugere muito pouca memória para que o servidor elimine a tarefa "de fora". É uma máquina virtual. A verificação da memória com o comando freemostra que todos os 3,5 GB livres são usados ​​gravando esse pequeno conjunto de dados (20 MB no servidor) no Excel.

Verifiquei na corrida e encontrei: 500 MB apenas para configurar o arquivo, 700 MB a cada 10K linhas. Escrever o conjunto de dados leva a:

60 x 700 + 500 = 4700 MB de RAM livre necessários e a VM tem apenas 3,5 GB. O que deve ser suficiente para um arquivo tão pequeno na saída. A saída no final é aproximadamente uma pasta de trabalho de 20 MB. A versão de saída do Excel deve ser 2007 ou 2010, pois está sendo executada em Python 2.73 e em código legado desatualizado.

Por que escrever em uma pasta de trabalho de 20 MB com o módulo openpyxl do Python consome Gigabytes de RAM?

python
  • 0 respostas
  • 57 Views
Martin Hope
David
Asked: 2022-03-29 14:20:48 +0800 CST

Como invocar um arquivo .env em um projeto Django que roda em um container Docker em um servidor K8s?

  • 0

Eu provavelmente só preciso de uma dica na direção certa.

Eu tenho um contêiner docker executando um aplicativo Django usando gunicorn e nginx. Este aplicativo Django está atualmente obtendo suas variáveis ​​de ambiente de um arquivo .env.

FROM python:alpine
EXPOSE 8000

RUN apk update
RUN apk add --no-cache git gcc musl-dev libffi-dev libxml2-dev libxslt-dev gcc swig g++
RUN apk add --no-cache jpeg-dev zlib-dev freetype-dev lcms2-dev openjpeg-dev tiff-  dev tk-dev tcl-dev
RUN apk add --no-cache bash ffmpeg libmagic
RUN python3 -m pip install --upgrade pip
RUN python3 -m pip install --upgrade setuptools

RUN mkdir /opt/app
WORKDIR /opt/app
COPY . .
RUN python3 -m pip install /root/d12f/

RUN pip3 install -r requirements.txt
RUN pip3 install gunicorn
CMD sh -c 'gunicorn --conf python:app.gunicorn_conf app.wsgi --bind 0.0.0.0:8000 --reload --log-level info --access-logfile - --timeout 360 --error-logfile -'

É claro que não há arquivo .env no repositório, pois isso seria um risco de segurança.

A imagem do Docker está sendo criada pelo github e armazenada em um pacote privado do GitHub. Mais tarde, esta imagem docker está sendo usada para rodar no Kubernetes.

Estou tentando encontrar a melhor solução para colocar um arquivo .env em

/opt/app/app/.env

como um arquivo local.

Eu preferiria não usar variáveis ​​de ambiente globais, se possível.

Obrigado por qualquer sugestão.

django python docker kubernetes github
  • 2 respostas
  • 139 Views
Martin Hope
stf
Asked: 2022-02-26 14:49:44 +0800 CST

GNU Mailman3 + Postfix: 550 5.1.1 <root@localhost>: Endereço do destinatário rejeitado: Usuário desconhecido na tabela de destinatários local

  • 0

Estou apenas tentando executar o GNU Mailman3 com Postfix+Nginx+Postgres. Este é o mais recente GNU/Linux Debian estável, então acabei de apt-getinstalar mailman3-fulle fiz algumas alterações padrão nos arquivos de configuração. A parte do Nginx é boa, o SSL funciona bem, posso acessar o Postorius e o Hyperkitty do meu navegador da web. Mas ao tentar fazer login como administrador, estou recebendo o seguinte erro:

ERROR 2022-02-25 21:39:55,302 118475 django.request Internal Server Error: /accounts/login/
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/django/core/handlers/exception.py", line 34, in inner
    response = get_response(request)
  File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 115, in _get_response
    response = self.process_exception_by_middleware(e, request)
  File "/usr/lib/python3/dist-packages/django/core/handlers/base.py", line 113, in _get_response
    response = wrapped_callback(request, *callback_args, **callback_kwargs)
  File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 71, in view
    return self.dispatch(request, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/django/utils/decorators.py", line 45, in _wrapper
    return bound_method(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/django/views/decorators/debug.py", line 76, in sensitive_post_parameters_wrapper
    return view(request, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 146, in dispatch
    return super(LoginView, self).dispatch(request, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 74, in dispatch
    response = super(RedirectAuthenticatedUserMixin, self).dispatch(
  File "/usr/lib/python3/dist-packages/django/views/generic/base.py", line 97, in dispatch
    return handler(request, *args, **kwargs)
  File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 102, in post
    response = self.form_valid(form)
  File "/usr/lib/python3/dist-packages/allauth/account/views.py", line 159, in form_valid
    return form.login(self.request, redirect_url=success_url)
  File "/usr/lib/python3/dist-packages/allauth/account/forms.py", line 195, in login
    ret = perform_login(
  File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line 175, in perform_login
    send_email_confirmation(request, user, signup=signup, email=email)
  File "/usr/lib/python3/dist-packages/allauth/account/utils.py", line 346, in send_email_confirmation
    email_address.send_confirmation(request, signup=signup)
  File "/usr/lib/python3/dist-packages/allauth/account/models.py", line 62, in send_confirmation
    confirmation.send(request, signup=signup)
  File "/usr/lib/python3/dist-packages/allauth/account/models.py", line 169, in send
    get_adapter(request).send_confirmation_mail(request, self, signup)
  File "/usr/lib/python3/dist-packages/allauth/account/adapter.py", line 464, in send_confirmation_mail
    self.send_mail(email_template, emailconfirmation.email_address.email, ctx)
  File "/usr/lib/python3/dist-packages/allauth/account/adapter.py", line 136, in send_mail
    msg.send()
  File "/usr/lib/python3/dist-packages/django/core/mail/message.py", line 306, in send
    return self.get_connection(fail_silently).send_messages([self])
  File "/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line 110, in send_messages
    sent = self._send(message)
  File "/usr/lib/python3/dist-packages/django/core/mail/backends/smtp.py", line 126, in _send
    self.connection.sendmail(from_email, recipients, message.as_bytes(linesep='\r\n'))
  File "/usr/lib/python3.9/smtplib.py", line 885, in sendmail
    raise SMTPRecipientsRefused(senderrs)
smtplib.SMTPRecipientsRefused: {'root@localhost': (550, b'5.1.1 <root@localhost>: Recipient address rejected: User unknown in local recipient table')}
[pid: 118475|app: 0|req: 35/35] 2001:xxxx:xxxx:xxxx:xxxx:xxxx () {62 vars in 1133 bytes} [Fri Feb 25 21:39:55 2022] POST /accounts/login/ => generated 1156 bytes in 173 msecs (HTTP/1.1 500) 5 headers in 182 bytes (1 switches on core 1)

E no arquivo de log do Postfix:

Feb 25 21:39:55 vps-xxx postfix/smtpd[122820]: connect from localhost[::1]
Feb 25 21:39:55 vps-xxx postfix/smtpd[122820]: NOQUEUE: reject: RCPT from localhost[::1]: 550 5.1.1 <root@localhost>: Recipient address rejected: User unknown in local recipient table; from=<root@MYDOMAIN> to=<root@localhost> proto=ESMTP helo=<vps-xxx>
Feb 25 21:39:55 vps-xxx postfix/smtpd[122820]: disconnect from localhost[::1] ehlo=1 mail=1 rcpt=0/1 rset=1 quit=1 commands=4/5

Eu pensei: talvez minha tabela de destinatários local esteja de alguma forma quebrada? Mas eu posso enviar e-mail usando mail:

$ mail -r 'root@localhost' -s 'just a test' 'root@localhost'

e funciona muito bem:

Feb 25 21:44:12 vps-xxx postfix/pickup[124104]: 9ABB540516: uid=1000 from=<root@localhost>
Feb 25 21:44:12 vps-xxx postfix/cleanup[124763]: 9ABB540516: message-id=<20220225214412.9ABB540516@MYDOMAIN>
Feb 25 21:44:12 vps-xxx opendkim[14611]: 9ABB540516: no signing table match for 'root@localhost'
Feb 25 21:44:12 vps-xxx opendkim[14611]: 9ABB540516: no signature data
Feb 25 21:44:12 vps-xxx postfix/qmgr[118558]: 9ABB540516: from=<root@localhost>, size=412, nrcpt=1 (queue active)
Feb 25 21:44:12 vps-xxx postfix/local[124765]: 9ABB540516: to=<root@localhost>, relay=local, delay=0.04, delays=0.03/0.01/0/0, dsn=2.0.0, status=sent (delivered to maildir)
Feb 25 21:44:12 vps-xxx postfix/qmgr[118558]: 9ABB540516: removed

Eu posso ver isso no rootMaildir de fato.

Alguma ideia?

Se bem me lembro, root@localhosté o endereço de e-mail que atribuí ao adminusuário do Postorius durante o dpkg-reconfigure. Eu nunca usei o GNU Mailman3 antes, mas acho que esse e-mail deve ser uma notificação de login ou algo assim (você também pode adivinhar pelo send_email_confirmationnome da função). Se eu digitar a senha errada, está tudo bem (apenas recebo um belo erro na interface do usuário da web), então isso só acontece se a senha estiver correta.

Obrigado!

email postfix python mailman
  • 1 respostas
  • 143 Views
Martin Hope
Zareh Kasparian
Asked: 2022-02-13 11:40:35 +0800 CST

seleção de várias partes de uma string em python

  • 1

Eu tenho um arquivo de log como abaixo:

12-02-2022 15:18:22 +0330 SOCK5.6699 00000 user144 97.251.107.125:38605 1.1.1.1:443 51766 169369 0 CONNECT 1.1.1.1:443
12-02-2022 15:18:27 +0330 SOCK5.6699 00094 user156 32.99.193.2:51242 1.1.1.1:443 715 388 0 CONNECT 1.1.1.1:443
12-02-2022 15:18:56 +0330 SOCK5.6699 00000 user105 191.184.66.98:40048 1.1.1.1:443 18105 29029 0 CONNECT 1.1.1.1:443
12-02-2022 15:18:56 +0330 SOCK5.6699 00000 user105 191.184.66.98:40070 1.1.1.1:443 674 26805 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:24 +0330 SOCK5.6699 00000 user143 112.199.63.119:60682 1.1.1.1:443 475 445 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:37 +0330 SOCK5.6699 00000 user105 191.184.66.98:40102 1.1.1.1:443 12913 18780 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:42 +0330 SOCK5.6699 00000 user143 112.199.63.119:60688 1.1.1.1:443 4530 34717 0 CONNECT 1.1.1.1:443
12-02-2022 15:20:44 +0330 SOCK5.6699 00000 user127 212.167.145.49:2972 1.1.1.1:443 827 267 0 CONNECT 1.1.1.1:443

meu objetivo é extrair duas partes deste arquivo de log:

  1. Nome de usuário
  2. Endereço IP da origem do usuário

abaixo está uma amostra das porções de dados necessárias.

12-02-2022 15:18:22 +0330 SOCK5.6699 00000 usuário144 97.251.107.125 :38605 1.1.1.1:443 51766 169369 0 CONECTAR 1.1.1.1:443

Então eu escrevi um script Python para extrair os dois itens e armazená-los em listas separadas e depois uni-los com a função zip.

import pprint
import collections

iplist=[]
for l in data:
    ip_port=l[53:71]
    iplist.append(ip_port.split(':')[0])


userlist=[]
for u in data:
    user=u[42:52]
    userlist.append(user.replace(" ", ""))

a=list(zip(iplist,userlist))
most_ip=collections.Counter(a).most_common(5)
pprint.pprint(most_ip)

Este código funciona bem e consigo obter o ip mais usado com seu nome de usuário correspondente. Também preciso mencionar que não usei o módulo re , pois estava listando o segundo IP (IP de destino que é 1.1.1.1 - que não me importo com isso)

Pergunta: Existe alguma outra maneira (mais legal) do que a maneira como escrevi o código?

python
  • 2 respostas
  • 32 Views
Martin Hope
BlueDogRanch
Asked: 2022-02-10 10:10:18 +0800 CST

Apache2: Por que recebo um erro 403 Forbidden?

  • 0

Estou mexendo com isso a dias :(

Por que recebo um erro 403 Forbidden em example.com/contact?

Isso é um problema de permissões de arquivo/pasta, usuário Apache, virtualhosts ou Python?

Estou tentando executar um aplicativo Django em /contact, mas o primeiro problema é o erro 403.

  • Estou executando o Ubuntu 20.04.3 LTS
  • Apache 2.4.41 instalado e em execução
  • Python 3.8 e Django instalados
  • libapache2-mod-wsgi-py3 instalado e ativado
  • apachectl configtestSintaxe OK
  • Todos os arquivos chown parawww-data:www-data
  • Diretórios chmod +x
  • exemplo.com/index.html funciona

/var/log/apache2/access.logestá vazia

/var/log/apache2/error.logcontém:

[mpm_prefork:notice] [pid 69090] AH00163: Apache/2.4.41 (Ubuntu) OpenSSL/1.1.1k mod_wsgi/4.6.8 Python/3.8 configurado -- retomando as operações normais

[core:notice] [pid 69090] AH00094: Linha de comando: '/usr/sbin/apache2'

O arquivo .htaccess na raiz tem

 RewriteEngine on
 ServerSignature Off
 Options All -Indexes

Esta é minha estrutura de arquivo public_html:

insira a descrição da imagem aqui

/etc/apache2/sites-available/default-ssl.conf:

  <IfModule mod_ssl.c>
    <VirtualHost _default_:443>
        ServerAdmin webmaster@localhost
    
        DocumentRoot /var/www/html
    
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
    
        SSLEngine on
    
        SSLCertificateFile  /etc/ssl/certs/ssl-cert-snakeoil.pem
        SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                    SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                    SSLOptions +StdEnvVars
        </Directory>
    
    
    Alias /static /var/www/html/example.com/public_html/contact/static
    Alias /media /var/www/html/example.com/public_html/contact/media

    <Directory /var/www/html/example.com/public_html/contact/static>
        Require all granted
    </Directory>

    <Directory /var/www/html/example.com/public_html/contact/media>
        Require all granted
    </Directory>

    WSGIScriptAlias /contact/contact /var/www/html/example.com/public_html/contact/contact/wsgi.py

    WSGIDaemonProcess contact python-home=/var/www/html/example.com/public_html/contact/contact

    WSGIProcessGroup contact

    WSGISocketPrefix run/wsgi

    <Directory /var/www/html/example.com/public_html/contact/contact>
        <Files wsgi.py>
            Require all granted
            AllowOverride None
            Allow from all
        </Files>
    </Directory>

        </VirtualHost>
</IfModule>
ubuntu virtualhost python apache-2.4
  • 1 respostas
  • 1189 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve