configuration nginx
# user nobody;
worker_processes 1;
# error_log logs/error.log;
# error_log logs/error.log notice;
# error_log logs/error.log info;
# pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
# 開啟gzip
gzip on;
# 啟用gzip壓縮的最小文件,小于設(shè)置值的文件將不會(huì)壓縮
gzip_min_length 1k;
# gzip 壓縮級(jí)別,1-10,數(shù)字越大壓縮的越好,也越占用CPU時(shí)間,后面會(huì)有詳細(xì)說明
gzip_comp_level 2;
# 進(jìn)行壓縮的文件類型。javascript有多種形式。其中的值可以在 mime.types 文件中找到。
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
# 是否在http header中添加Vary: Accept-Encoding,建議開啟
gzip_vary on;
# 禁用IE 6 gzip
gzip_disable "MSIE [1-6]\.";
#配置nginx緩存
proxy_cache_path /etc/nginx/cache levels=1:2 keys_zone=cache_one:500m inactive=10d max_size=10g;
proxy_temp_path /etc/nginx/cache/temp;
upstream service {
ip_hash;
server 127.0.0.1:13333 max_fails=2 fail_timeout=5s;
server 127.0.0.1:13334 max_fails=2 fail_timeout=5s;
}
server {
listen 80;
server_name xxxxx.com;
listen 443 ssl;
underscores_in_headers on;
ignore_invalid_headers off;
ssl_certificate cert/214001950380329.pem;
ssl_certificate_key cert/214001950380329.key;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
#charset utf-8;
#access_log logs/host.access.log main;
#網(wǎng)站首頁
location / {
root /data/www/; #html;
index index.html index.htm;
}
#后臺(tái)工程配置
location ^~/admin/ {
alias /data/backend/www/;
index index.html;
}
location /api/ {
proxy_pass http://localhost:3000/api;
}
location /service {
proxy_set_header X-Real-IP $http_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://service;
}
location ~ .*\.(js|css|gif|jpg|jpeg|png|webp|bmp|swf|flv)$ {
root /data/www;
#向upstream服務(wù)器同時(shí)發(fā)送http頭,頭信息中包括Host:主機(jī)、X-Real-IP:客戶端真實(shí)IP地址
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
# proxy_pass http://127.0.0.1;
# proxy_redirect off;
#上面定義的cache_one緩存區(qū)被用于這個(gè)位置。 Nginx會(huì)在這里檢查傳遞給后端有效的條目。
proxy_cache cache_one;
proxy_cache_valid 200 304 12h;
proxy_cache_valid any 10m;
proxy_cache_key $host$uri$is_args$args;
add_header Nginx-Cache "$upstream_cache_status";
expires max;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
include servers/*;
}
erreur.log
2017/06/02 15:50:12 [error] 26536#26536: *3768 open() "/data/www/admin" failed (2: No such file or directory), client: xxxxxxxxx, server: xxxxx.com, request: "GET /admin HTTP/1.1", host: "xxxxx.com"
Le répertoire de la page d'accueil du site Web se trouve à /data/www
La page d'accueil de l'administrateur est à /data/backend/www/
Quelle devrait être la bonne combinaison ?
étant donné que le chemin que vous avez configuré correspond à /admin/ et que l'URL commence par /admin/, /data/www/admin est demandé
Lorsque vous visitez xxxxx.com/admin, cela équivaut au premier correspondant
#網(wǎng)站首頁
location / {
root /data/www/; #html;
index index.html index.htm;
}
Visitez xxxxx.com/admin/ pour trouver le match
#后臺(tái)工程配置
location ^~/admin/ {
alias /data/backend/www/;
index index.html;
}
De plus, vous pouvez également le changer en deux serveurs pour isoler fondamentalement la page d'accueil du site et le c?té gestion du site, ce qui facilitera également l'ajout de noms de domaine ultérieurement
Sous quel utilisateur votre nginx fonctionne-t-il?? Quelles sont les autorisations du répertoire /data/www/admin ? Vérifiez-le
??