2017-07-08 1 views
0

Il a été un 3ème jour, je suis en train de déployer une petite application PHP. Nous déplaçons nos applications, ce qui signifie 3 applications sur les rails et 1 php sur le même serveur. Les applications Rails fonctionnent correctement. PHP ne le fait pas. Je n'ai jamais vraiment déployé d'application PHP, donc je le fais à travers des guides. Jusqu'à présent, je reçois cette situation: Si j'essaie d'ouvrir l'application PHP dans un navigateur, je vois la page par défaut Apache. Si je rafraîchis la page, il me montrera le contenu du fichier index.php, mais comme un texte vide. Actualiser à nouveau - page Apache par défaut, et encore - contenu de index.php.application PHP déployer Ubuntu 16.04 nginx apache réglage

Mes paramètres:

nginx/sites disponibles/my.site (activés dans les sites activés)

server { 
    listen 80 default_server; 
    listen [::]:80 default_server; 

root /var/www/my.site/httpdocs; 

# Add index.php to the list if you are using PHP 
index index.php index.html index.htm index.nginx-debian.html; 

server_name my.site www.my.site; 

location/{ 
    proxy_pass http://localhost:8000; 
    include /etc/nginx/proxy_params; 
} 

location ~* \.(js|css|jpg|jpeg|gif|png|svg|ico|pdf|html|htm)$ { 
expires  30d; 
} 

location @proxy { 
    proxy_pass http://127.0.0.1:8000; 
    include /etc/nginx/proxy_params; 
} 
location ~* \.php$ { 
    proxy_pass http://127.0.0.1:8000; 
    include /etc/nginx/proxy_params; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header Host $host; 
} 
} 

apache2/sites disponibles/my.site

ServerName my.site 
ServerAlias www.my.site 

ServerAdmin [email protected] 
DocumentRoot /var/www/my.site/httpdocs 

ErrorLog ${APACHE_LOG_DIR}/error.log 
CustomLog ${APACHE_LOG_DIR}/access.log combined 

apache2/ports.conf

NameVirtualHost 127.0.0.1:8000 
Listen 8000 

<IfModule ssl_module> 
    Listen 443 
</IfModule> 

<IfModule mod_gnutls.c> 
    Listen 443 
</IfModule> 

Au travail en journée avec aucune idée de comment résoudre le serveur. Tout conseil est apprécié.

+0

Puis-je savoir pourquoi vous utilisez nginx comme proxy pour apache? – Albert221

+0

@ Albert221 Je n'ai pas de réponse appropriée à vous. Je viens de commencer google 'ubuntu php apache deploy' et ces guides sont apparus. Pouvez-vous fournir une meilleure solution? – alexxero

Répondre

1

nginx config

map $sent_http_content_type $expires { 
    default    off; 
    ~css     max; 
    ~javascript  max; 
    ~image    max; 
    ~font-woff  max; 
    ~video    max; 
    ~zip     max; 
    ~txt     max; 
    } 
expires     $expires; 

server { 
listen 80; 
    server_name exemple.com; 
    root /home/to/exemple.com; 
    index index.php index.html;    

gzip     on; 
gzip_min_length   128; 
gzip_http_version  1.1; 
gzip_buffers   128 32k; 
gzip_types 
    text/css 
    text/javascript 
    text/xml 
    text/plain 
    text/x-component 
    application/javascript 
    application/x-javascript 
    application/json 
    application/xml 
    application/rss+xml 
    application/atom+xml 
    font/truetype 
    font/opentype 
    application/vnd.ms-fontobject 
    image/svg+xml; 
gzip_static on;  
gzip_proxied   expired no-cache no-store private auth; 
gzip_disable   "msie6"; 
gzip_vary    on; 

location/{ 
    proxy_pass http://127.0.0.1:8000; 
    proxy_set_header Host $host; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
    proxy_set_header X-Forwarded-Proto $scheme; 
    } 
} 

config apache

php 7 mod

apt install libapache2-mod-php7.0 

php5 mod

apt install libapache2-mod-php 

Inclure par exemple php7.0 mod

a2enmod php7.0 

VirtualHost config apache

<VirtualHost *:8000> 
    ServerName exemple.com 
    DocumentRoot /home/to/exemple.com 
    ErrorLog ${APACHE_LOG_DIR}/error.log 
    CustomLog ${APACHE_LOG_DIR}/access.log combined 
    RewriteEngine On 
<Directory /home/to/exemple.com/> 
    php_admin_flag engine on 
    Options -ExecCGI -Indexes +FollowSymLinks 
    AllowOverride All 
    Require all granted 
</Directory> 
</VirtualHost> 

Retirez NameVirtualHost 127.0.0.1:8000 dans apache2.conf Pâte ServerName 127.0.0.1

systemctl restart apache2 
systemctl restart nginx 

Original post apache2+nginx proxy

+0

Merci! Cela a aidé – alexxero