Nginx
NGINX 記憶體錯誤:與 /etc/nginx/nginx.conf 中已聲明的大小 0 衝突
我目前用於 drupal 配置的 nginx 給出了以下錯誤。不知何故,我無法啟用 nginx 記憶體。嘗試了不同的配置,但加班我得到了同樣的錯誤。有人可以幫忙嗎?
nginx: [emerg] the size 5242880 of shared memory zone "MYAPP" conflicts with already declared size 0 in /etc/nginx/nginx.conf:51 nginx: configuration file /etc/nginx/nginx.conf test failed
我的 nginx.conf
user nginx; worker_processes auto; http { include /etc/nginx/conf.d/*.conf; include /etc/nginx/mime.types; fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=MYAPP:5M max_size=256M inactive=2h; fastcgi_cache_key “$scheme$request_method$host$request_uri”; add_header X-Cache $upstream_cache_status; ## Set a cache_uid variable for authenticated users. map $http_cookie $cache_uid { default nil; # hommage to Lisp :) ~SESS[[:alnum:]]+=(?<session_id>[[:alnum:]]+) $session_id; } map $request_method $no_cache { default 1; HEAD 0; GET 0; }
預設.conf
server { listen 80 default_server; server_name abc.com; root /srv/www/abc; ## <== Your only path reference. #Cache everything by default set $no_cache 0; #Don’t cache POST requests if ($request_method = POST) { set $no_cache 1; } #Don’t cache if the URL contains a query string if ($query_string != “”) { set $no_cache 1; } #Don’t cache the following URLs if ($request_uri ~* “/(administrator/|login.php)”) { set $no_cache 1; } #Don’t cache if there is a cookie called PHPSESSID if ($http_cookie = “PHPSESSID”) { set $no_cache 1; } location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $request_filename; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/php-fpm/rldb.sock; fastcgi_read_timeout 600; fastcgi_cache MYAPP; fastcgi_cache_valid 200 301 30s; fastcgi_cache_bypass $no_cache; fastcgi_no_cache $no_cache; fastcgi_param HTTPS on; fastcgi_buffer_size 256k; fastcgi_buffers 256 32k; fastcgi_connect_timeout 600; fastcgi_send_timeout 600; # Set cache key to include identifying components fastcgi_cache_valid 302 1m; fastcgi_cache_valid 404 1s; fastcgi_cache_min_uses 1; fastcgi_cache_use_stale error timeout invalid_header updating http_500; fastcgi_ignore_headers Cache-Control Expires; fastcgi_pass_header Set-Cookie; fastcgi_pass_header Cookie; ## Add a cache miss/hit status header. add_header X-Micro-Cache $upstream_cache_status; ## To avoid any interaction with the cache control headers we expire ## everything on this location immediately. expires epoch; ## Cache locking mechanism for protecting the backend of too many ## simultaneous requests. fastcgi_cache_lock on; }
將包含放在
/etc/nginx/conf.d/*.conf;
記憶體聲明之後,而不是之前。