web-dev-qa-db-fra.com

Nginx installé avec Apache Ubuntu 14.04

J'ai installé Nginx, mais j'ai aussi Apache. Comment puis-je exécuter Nginx? Quand je vais à mon IP, j'obtiens le répertoire /var/www/. J'essaie déjà de comprendre comment résoudre Internet mais je ne peux toujours pas comprendre ce que je fais de travers.

Quelqu'un peut m'aider?

2
nowiko

Si vous voulez exécuter nginx et non Apache2, vous avez deux options: désinstaller Apache2 ou arrêter Apache2.

Pour désinstaller Apache2

Sudo apt-get purge Apache2*
Sudo apt-get autoremove
Sudo apt-get autoclean
rm -rfv Apache2*

ou vous pouvez simplement arrêter le service Apache2

Sudo service Apache2 stop OR Sudo service Apache2ctl stop

le dossier racine nginx par défaut est/usr/share/nginx/html ou/usr/share/nginx/www

vous devriez également commencer nginx juste pour caution

Sudo service nginx start

netstat -ntlp will show you which port is being used by which service 
2
Khan Shahrukh

Il existe plusieurs façons de faire fonctionner Apache côte à côte avec nginx sur le même ordinateur.

Voici une solution: en supposant qu'Apache et nginx soient installés sur Ubuntu/Debian, suivez ces instructions.

Le résultat final sera Apache en tant que serveur "maître" et nginx en tant qu'hôte virtuel Apache.

Changer le port pour nginx

Ouvrez le site par défaut de nginx:

cd /etc/nginx/sites-available
Sudo cp default default.bak
Sudo nano default

Modifiez le port sur les lignes d’écoute sous serveur de 80 à 81:

…
server {
    listen 81 default_server;
    listen [::]:81 default_server ipv6only=on;
…

Enregistrez et quittez nano.

Activer les modules requis pour Apache

Sudo a2enmod proxy_http

Configurer l'hôte virtuel

cd /etc/Apache2/sites-available
Sudo nano nginx.conf

Collez ceci dans nano:

<VirtualHost *:80>

    # (optional) Set a ServerName:
    # ServerName nginx.mydomain.com

    # Set the below line to your desired subdomain:
    ServerAlias nginx.*

    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>

    ProxyRequests Off
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    # Forward requests to nginx (port 81)
    ProxyPass / http://127.0.0.1:81/
    ProxyPassReverse / http://127.0.0.1:81/

</VirtualHost>

Notez le ServerName et ServerAlias ​​dans le fichier ci-dessus. Changez-les pour votre domaine désiré si vous en avez un.

Enregistrez et quittez nano.

Si vous ne possédez pas de domaine et/ou souhaitez l'exécuter en local uniquement, ouvrez/etc/hosts:

Sudo nano /etc/hosts

Ajoutez ensuite ces deux lignes en bas (vous pouvez changer nginx.localhost en ce que vous désirez):

# nginx
127.0.0.1       nginx.localhost

Activez maintenant nginx sur Apache:

Sudo a2ensite nginx
Sudo service Apache2 restart

Voir dans votre navigateur

http: //nginx.localhost (ou votre domaine souhaité que vous avez configuré)

Quelques notes

  • Si vous exécutez PHP-FPM, vous devrez définir les variables SERVER_NAME, SERVER_PORT et HTTP_Host afin qu'elles correspondent à Apache: http://nginx.org/en/docs/http/ngx_http_fastcgi_module.html#variables
  • Si vous avez des problèmes avec le démarrage de nginx, vérifiez toujours le error.log (dans Ubuntu, je devais Sudo su pour voir même à l'intérieur du dossier du journal)
6
mattbell87