Page 3 sur 4
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 14:02
par mpedro
Dernier message de la page précédente :
Php fmp communique par un socket Unix.
Donc quand tu tapes localhost nginx pointe sur ton chemin ? Tu as donc configuré les blocks server. Ou bien c'est nginx qui pointe dans var/www et welcome ?
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 14:29
par Alain488
mpedro a écrit :Php fmp communique par un socket Unix.
c'est php-fmp ou php-fpm
mpedro a écrit :Donc quand tu tapes localhost nginx pointe sur ton chemin ?
oui, c'est bien cela
mpedro a écrit :Tu as donc configuré les blocks server.
j'ai modifié le chemin dans le fichier /etc/nginx/sites-available/defaut
maintenant, je crois que php n'est pas activé, car j'affiche bien les .html , mais pas les .php
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 15:39
par mpedro
C est fpm
Si tu veux gagner du temps fais une recherche car c'est est une ligne à ajouter ou decommenter (c est selon)
dans PHP7 pool.d et c'est le www conf
Si tu veux tester (depuis le net le rendu mobile & PC) il faudra ouvrir le port 80 du pare-feu y compris la box et pointer sur l IP publique Box depuis un autre PC.
Selon le CMS ou éditeur Web il faut peut-être une bibliothèque.
Il faut redémarrer php fmp et nginx et ne pas hésiter à supprimer le cache du navigateur web lors des essais.
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 20:05
par Alain488
mpedro a écrit :
Si tu veux gagner du temps fais une recherche car c'est est une ligne à ajouter ou decommenter (c est selon) dans PHP7 pool.d et c'est le www conf
je n'ai rien trouvé a ce sujet
j'ai toujours un message d'erreur quand je lance php-fpm
Code : Tout sélectionner
cinnamon ~ # systemctl start php-fpm
Failed to start php-fmp.service: Unit php-fmp.service not found.
il est possible tout le problème vienne de là.
comment savoir si php est activé ?
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 22:57
par mpedro
Nginx communique avec PHP-fmp à l'aide d'un socket Unix
Le fichier se trouve dans ~/etc/php/7/fpm/pool.d/
www.conf
Il faut ajouter cette ligne : listen = /run/php/php7.0-fpm.sock au fichier
http://www.conf" onclick="window.open(this.href);return false;
Puis démarrer ou redémarrer PHP-fmp
#service php7.0-fpm restart
#service php7.0-fpm status (pour vérifier son statut et vérifier que le service soit actif)
Et déclarer le socket à Nginx aussi par cette ligne : fastcgi_pass unix:/var/run/php/php7.0-fpm.sock
Puis recharger Nginx pour prendre en compte PHP et vérifier qu'il est actif.
#systemctl reload nginx.service
#systemctl status nginx.service
#systemctl start nginx.service
nota bene : on peut aussi passer par un port d'écoute (127.0.0.1:9000) sans socket-unix
fastcgi_pass est la directive pour se connecter au demon PHP et présentement par un socket-unix
Un soket est un point de communication qui s'affranchi de la pile réseau en passant par les ressources du noyau ("enfin c'est dans ce genre là") et c'est plus rapide.
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 23:27
par Alain488
mpedro a écrit :Il faut ajouter cette ligne : listen = /run/php/php7.0-fpm.sock au fichier
http://www.conf" onclick="window.open(this.href);return false;
je n'ai pas du l'ajouté, elle s'y trouvé déjà
vérification du statut, voici le résultat :
Code : Tout sélectionner
alain@cinnamon ~ $ service php7.0-fpm status
● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor prese
Active: active (running) since lun 2018-02-12 23:06:52 CET; 13s ago
Process: 17254 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, st
Main PID: 17263 (php-fpm7.0)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se
CGroup: /system.slice/php7.0-fpm.service
├─17263 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
├─17265 php-fpm: pool www
└─17266 php-fpm: pool www
fév 12 23:06:52 cinnamon systemd[1]: Starting The PHP 7.0 FastCGI Process Manage
fév 12 23:06:52 cinnamon systemd[1]: Started The PHP 7.0 FastCGI Process Manager
lines 1-13/13 (END)
Code : Tout sélectionner
alain@cinnamon ~ $ systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en
Active: active (running) since lun 2018-02-12 15:26:15 CET; 7h ago
Process: 17489 ExecReload=/usr/sbin/nginx -g daemon on; master_process on; -s
Main PID: 1168 (nginx)
CGroup: /system.slice/nginx.service
├─ 1168 nginx: master process /usr/sbin/nginx -g daemon on; master_pr
├─17491 nginx: worker process
├─17492 nginx: worker process
├─17493 nginx: worker process
└─17494 nginx: worker process
fév 12 15:26:11 cinnamon systemd[1]: Starting A high performance web server and
fév 12 15:26:15 cinnamon systemd[1]: Started A high performance web server and a
fév 12 16:58:58 cinnamon systemd[1]: Started A high performance web server and a
fév 12 23:15:53 cinnamon systemd[1]: Reloading A high performance web server and
fév 12 23:15:53 cinnamon systemd[1]: Reloaded A high performance web server and
lines 1-17/17 (END)
apparemment les deux sont activés, qu'en pense tu ?
cette ligne, tu veux que je la place ou ?
dans le fichier ~/etc/php/7/fpm/pool.d/
www.conf ?
Re: Quel serveur Web local
Posté : lun. 12 févr. 2018 23:32
par mpedro
Oui les deux sont actifs
********************
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock
à déclarer dans ton serveur name
qui est dans ~/nginx/sites-available
si tu vois une ligne avec çà 127.0.0.1:9000 il faut la commenter, car il faut choisir soit un port d'écoute, soit un socket et dans le sujet le choix d'un soket-unix est privilégié.
Édition : je dois partir et suis l'unique membre connecté à cette heure.
Re: Quel serveur Web local
Posté : mar. 13 févr. 2018 09:35
par Alain488
Voici ce que j'avais :
Code : Tout sélectionner
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
# location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
# fastcgi_pass unix:/run/php/php7.0-fpm.sock;
#}
et voici après modification
Code : Tout sélectionner
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
cela te semble-t-il correct ?
mais cela ne fonctionne pas mieux, toujours pas de index.php
Re: Quel serveur Web local
Posté : mar. 13 févr. 2018 16:24
par mpedro
Je n'ai pas de PC sur place présentement mais ce fichier n'est pas du tout correct.
Règle la directive fastcgi c'est soit l'un soit l'autre. Ce fichier n' est pas celui d'origine après avoir installé nginX.
Cherche sur internet tu verras comment l'écrire...
Re: Quel serveur Web local
Posté : mar. 13 févr. 2018 16:38
par Alain488
ce n'était qu'un morceau du fichier.
le voici dans sa totalité.
Code : Tout sélectionner
##
# You should look at the following URL's in order to grasp a solid understanding
# of Nginx configuration files in order to fully unleash the power of Nginx.
# http://wiki.nginx.org/Pitfalls
# http://wiki.nginx.org/QuickStart
# http://wiki.nginx.org/Configuration
#
# Generally, you will want to move this file somewhere, and start with a clean
# file but keep this around for reference. Or just disable in sites-enabled.
#
# Please see /usr/share/doc/nginx-doc/examples/ for more detailed examples.
##
# Default server configuration
#
server {
listen 80 default_server;
listen [::]:80 default_server;
# SSL configuration
#
# listen 443 ssl default_server;
# listen [::]:443 ssl default_server;
#
# Note: You should disable gzip for SSL traffic.
# See: https://bugs.debian.org/773332
#
# Read up on ssl_ciphers to ensure a secure configuration.
# See: https://bugs.debian.org/765782
#
# Self signed certs generated by the ssl-cert package
# Don't use them in a production server!
#
# include snippets/snakeoil.conf;
root /home/alain/Documents/www;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html index.php;
server_name _;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
try_files $uri $uri/ =404;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
# include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm:
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
# listen 80;
# listen [::]:80;
#
# server_name example.com;
#
# root /var/www/example.com;
# index index.html;
#
# location / {
# try_files $uri $uri/ =404;
# }
#}
je me demandais si ma façon de faire était la bonne ou alors si il fallait déplacer cette ligne :
dans :
au lieu de :
Re: Quel serveur Web local
Posté : mar. 13 févr. 2018 21:40
par mpedro
Tu as le fichier default dans ~/etc/nginx/sites-available/
Laisse ce fichier et crée en un autre ou remplace le et nomme le monsiteweb.
Ce fichier monsiteweb doit être dans ~/etc/nginx/sites-available.
Ci-dessous le contenu de ton name-server
Code : Tout sélectionner
# monsiteweb
server {
listen 80;
listen [::]:80;
root /home/alain/Documents/www/monsiteweb;
# dans ~Documents/www/ il existe donc un dossier nommé monsiteweb
# Add index.php to the list if you are using PHP
index index.php index.html;
server_name monsiteweb.lan;
location / {
try_files $uri $uri/ @handler =404;
}
# REDIRECTIONS
#
# Flux RSS
location /feed/ {
rewrite /feed\/(.*)$ /feed.php?$1 last;
}
# Sitemap
location = /sitemap.xml {
rewrite .* /sitemap.php;
}
# PROTECTION REPERTOIRES
location /data/configuration { deny all; }
location /version { deny all; }
location /update { deny all; }
location /readme { deny all; }
# Réécriture vers l'index
location @handler {
rewrite /(.*)$ /index.php?$1 last;
}
# pass PHP scripts to FastCGI server
location ~ \.php$ {
include snippets/fastcgi-php.conf;
# # With php-fpm (or other unix sockets):
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
}
Et il faut aussi créer le lien symbolique dans ~/etc/nginx/sites-enabled
Enfin tu renseignes le fichier hosts qui est dans ~/etc
Code : Tout sélectionner
127.0.0.1 localhost monsiteweb.lan
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
Dans ton navigateur tu tapes l'adresse de ton site
http://monsiteweb.lan" onclick="window.open(this.href);return false;
(
Tu peux créer d'autres name-serveur comme-celà et héberger tes sites)
*******************
Il faut que nginX & php7.0-fpm soient actifs.
*******************
Ça devrait fonctionner.