Como iniciar k = 10 processos do servidor Apache2 no Ubuntu 16.04 alpha release reboot?

0

Eu gostaria de saber como iniciar os processos do servidor k = 10 Apache2 no Ubuntu 16.04 alpha release reboot. Ontem, eu li este URL, [ link , que diz para usar o Apache2 com o módulo prefork.c e definir StartServers iguais a 10

<IfModule prefork.c>
StartServers       4
MinSpareServers    3
MaxSpareServers   10
ServerLimit      256
MaxClients       256
MaxRequestsPerChild  10000
</IfModule>

Infelizmente, o meu apache2 só tem o módulo event.c. Eu tentei atualizar o apache2 para o módulo prefork.c com o sudo apt-get instalar o apache-mtm-prefork e o erro de instalação disse que nenhum pacote desse tipo está disponível porque pode estar desatualizado ou obsoleto. Então eu tentei o sudo apt-get update e recebi a mesma mensagem de erro.

Meu próximo passo foi tentar configurar o módulo de evento apache2 com StartServers = 5, alterando /etc/httpd.conf e, em seguida, reiniciando meu arquivo systemd apache.service e meu ps -ef | grep -in "apache2" mostra apenas 2 processos www-data apache2 e ps-ef | grep -in "mod" não mostra nenhum processo mod-mono-server4.

Além disso, ao executar o apache2 no prompt do comando bash shell, ele disse que a variável de ambiente APACHE2_LOCK_FILE estava ausente no erro de sintaxe. Descobri que APACHE2_LOCK_FILE está definido no meu arquivo / etc / apache2 / envvars.

A página do manual do apache2 do Ubuntu 16.04 diz: "Em geral, o apache2 não deve ser invocado diretamente, mas deve ser chamado via /etc/init.d/apache2 ou apache2ctl. A configuração padrão do Debian requer variáveis de ambiente que são definidas em / etc / apache2 / envvars e não estarão disponíveis se o apache2 for iniciado diretamente. No entanto, o apache2ctl pode ser usado para transmitir argumentos arbitrários para o apache2. "

Então eu poderia usar o /etc/apache2/envars, eu editei meu arquivo systemd apache.service para usar o ExecStart = /etc/init.d/apache2 start e reiniciei meu desktop Lenovo ThinkStation Ubuntu 16.04 e sem sucesso, eu ainda tem apenas 2 processos apache2 www-data e ps-ef | grep -in "mod" não mostra nenhum processo mod-mono-server4 quando eu corri ps -ef | grep -in "apache2".

Posso perguntar o que fiz de errado e como corrigi-lo? Por favor, sugira testes que eu possa fazer.

Eu sei que muitos usuários do lançamento do Ubuntu 16.04 alpha logo irão reclamar sobre o mesmo problema que eu experimentei.

    
por Frank 23.06.2016 / 11:16

2 respostas

1

Primeiramente, você pode confirmar que você já tem o módulo mpm_prefork, vendo que é enviado no pacote apache2 em 16.04. Você verá alguns resultados para isso se fizer isso:

 dpkg -L apache2 | grep fork

 /etc/apache2/mods-available/mpm_prefork.conf
 /etc/apache2/mods-available/mpm_prefork.load

Agora verifique qual módulo MPM está habilitado, e você verá que o módulo Event MPM está habilitado enquanto o módulo Prefork não está:

  ls /etc/apache2/mods-enabled/mpm*

Parece que você deseja desabilitar o módulo Event MPM e habilitar o módulo Prefork MPM, que você pode fazer com links simbólicos, e depois reiniciar o Apache:

sudo rm /etc/apache2/mods-enabled/mpm*
sudo ln -s /etc/apache2/mods-available/*fork* /etc/apache2/mods-enabled/

Talvez a sua diretiva "StartServer" funcione conforme desejado. O servidor Event MPM executa um loop de eventos em um único processo, por isso não faz todos os processos extras.

Você também mencionou iniciar o Apache e o systemd. Eu recomendo não iniciar o http do Apache diretamente ou com o apache2ctl. SOMENTE controlá-lo através do systemd para consistência.

Aqui estão alguns comandos de controle systemd relacionados, como exemplos:

 sudo systemctl start   apache2
 sudo systemctl stop    apache2
 sudo systemctl restart apache2

Você teve mais perguntas em seus comentários sobre a configuração do Mono, do ASPX e de vários aplicativos. Você deve fazer essas perguntas separadamente e ficar claro se pretende veicular vários aplicativos em um único domínio ou vários aplicativos em vários domínios.

Para fazer o serviço Apache2 iniciar na inicialização, execute:

sudo systemctl enable apache2
    
por 24.06.2016 / 01:02
0

Existem mais três etapas na configuração do Ubuntu 16.04 para servir conteúdo aspx que reside em diferentes diretórios raiz.

  1. Coloque isso no final de apache2.coonf

    Alias / teste "/ usr / share / doc / xsp / test"    Alias / personal "/ home / user / mypages"    AddMonoApplications padrão "/ teste: / usr / share / doc / xsp / teste, / personal: / home / user / mypages"            SetHandler mono                SetHandler mono    

    1. source / etc / apache2 / envvars depois de modificá-lo da seguinte forma:

      envvars - variáveis de ambiente padrão para apache2ctl

      isso não será correto depois de alterar o uid

      não configurado HOME

      para suportar várias instâncias do apache2

      if ["$ {APACHE_CONFDIR ## / etc / apache2-}"!="$ {APACHE_CONFDIR}"]; então         SUFFIX="- $ {APACHE_CONFDIR ## / etc / apache2-}" outro         SUFFIX = fi

      Como não há uma maneira sã de obter a configuração analisada do apache2 em scripts, alguns

      configurações são definidas através de variáveis de ambiente e, em seguida, usadas em apache2ctl,

      /etc/init.d/apache2, /etc/logrotate.d/apache2, etc.

      export APACHE_RUN_USER = venkat exportar APACHE_RUN_GROUP = venkat

      local do arquivo de estado temporário. Isso pode ser alterado para / run em Wheezy + 1

      export APACHE_PID_FILE = / var / run / apache2 / apache2.pid export APACHE_RUN_DIR = / var / run / apache2 export APACHE_LOCK_DIR = / var / lock / apache2

      Apenas / var / log / apache2 é tratado por /etc/logrotate.d/apache2.

      export APACHE_LOG_DIR = / var / log / apache2

      A localidade usada por alguns módulos como o mod_dav

      export LANG = C

      Remova o comentário da seguinte linha para usar a localidade padrão do sistema:

      / etc / default / locale

      exportar LANG

      O comando para obter o status para 'status apache2ctl'.

      Alguns pacotes que fornecem 'www-browser' precisam de '--dump' em vez de '-dump'.

      export APACHE_LYNX = 'www-browser-dump'

      Se você precisar de um limite de descritor de arquivo maior, descomente e ajuste o

      seguinte linha (o padrão é 8192):

      APACHE_ULIMIT_MAX_FILES = 'ulimit -n 65536'

      Se você quiser passar argumentos para o servidor da Web, adicione-os abaixo

      para o ambiente APACHE_ARGUMENTS.

      export APACHE_ARGUMENTS = ''

      Ativar o modo de depuração para scripts do mantenedor.

      Isso produzirá uma saída detalhada nas instalações de pacotes dos módulos do servidor da web e do aplicativo da web

      instalações que interagem com o Apache

      export APACHE2_MAINTSCRIPT_DEBUG = 1

      1. No topo do apache2.conf, coloque a linha: LoadModule mono_module /usr/lib/apache2/modules/mod_mono.so.

      2. Para testar isso, coloque link e coloque link no navegador Firefox.

por 24.06.2016 / 22:55