Je suis nouveau dans l'utilisation de nginx, enfin, nouveau dans l'utilisation de tout ce qui n'est pas cpanel... J'ai des problèmes pour faire fonctionner des domaines avec nginx lorsque l'on inclut www. dans l'url.
www.mydomain.com > not work 404
mydomain.com > works
Je ne sais pas si j'ai fait une erreur avec les fichiers de configuration nommés, ou la configuration du serveur pour nginx. Je suis en train d'apprendre à la hâte et je ne vais pas être surpris si j'ai fait une erreur avec la configuration de base. J'utilise la dernière version de nginx et de php-fpm, à part le problème de mon domaine, tout fonctionne.
Je suis (essaie ?) de faire fonctionner des sous-domaines, ils fonctionnent, mais l'utilisation de www. donne lieu à un 404. J'utilise les serveurs de noms, etc. de mon serveur principal .org domaine du serveur. Je vais poster tout ce qui est pertinent ci-dessous dans l'espoir que quelqu'un ici puisse repérer les erreurs que je fais ou que j'ai faites.
etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
184.xxx.xxx.146 server.servername.org servername.org
named.conf
...
view "localhost_resolver" {
/* This view sets up named to be a localhost resolver ( caching only nameserver ).
* If all you want is a caching-only nameserver, then you need only define this view:
*/
# match-clients { 127.0.0.0/24; };
# match-destinations { localhost; };
match-clients { any; };
match-destinations { any; };
recursion no;
zone "servername.org" {
type master;
file "/var/named/servername.org.db";
};
// optional - we act as the slave (secondary) for the delegated domain
zone "mydomain.com" IN {
type slave;
file "/var/named/mydomain.com.db";
masters {10.10.0.24;};
};
allow-notify { 184.xxx.xxx.146; };
};
mondomaine.com.db
$TTL 86400
mydomain.com. IN SOA ns1.servername.org. server.servername.org. (
2002012013; Serial
1H ; Refresh (change 1H to 6H in 3 days or so)
1800 ; Retry (change to 1H in 3 days)
2W ; Expire
1D ); Minimum
mydomain.com. IN NS ns1.servername.org.
mydomain.com. IN NS ns2.servername.org.
ns1.servername.org. IN A 184.xxx.xxx.147
ns2.servername.org. IN A 184.xxx.xxx.148
mail.servername.org. IN A 184.xxx.xxx.146
mydomain.com. IN A 184.xxx.xxx.146
mydomain.com. IN MX 0 mail.servername.org.
@ A 184.xxx.xxx.146
www A 184.xxx.xxx.146
nginx.conf utilise include /etc/nginx/sites-enabled/* ; et la configuration de nginx "mydomain.com".
server {
server_name www.mydomain.com;
rewrite ^(.*) http://mydomain.com$1 permanent;
}
server {
listen 80;
server_name mydomain.com www.mydomain.com;
# access_log /srv/www/mydomain.com/logs/access.log;
error_log /srv/www/mydomain.com/logs/error.log;
root /srv/www/mydomain.com/public_html;
set $noadmin 1;
location / {
try_files $uri $uri/ /index.php?$args;
index index.html index.htm index.php;
}
# Add trailing slash to */wp-admin requests.
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
location ~ \.flv$ {
flv;
root /srv/www/mydomain.com/public_html;
}
location ~ \.mp4$ {
root /srv/www/mydomain.com/public_html;
mp4;
}
# use fastcgi for all php files
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /srv/www/mydomain.com/public_html$fastcgi_script_name;
include fastcgi_params;
}
# deny access to apache .htaccess files
location ~ /\.ht
{
deny all;
}
}
Je peux accéder aux sous-domaines, donc mon horrible tentative semble fonctionner, mais je ne comprends pas pourquoi www.mydomain.com ne se connecte pas, alors que http://mydomain.com sera. Je lis/apprends au fur et à mesure, je ne veux pas faire de changements tant que je ne comprends pas ce que font ces changements. Je pourrais finir par casser plus que les URLs.