Ответы пользователя по тегу Nginx
  • Как заставить работать 2 параллельных запроса одновременно в nginx?

    inside22
    @inside22
    BushaevDenis в предыдущем комментарии все верно сказано. Смотрите свою CMS и Framework.
    Это может быть не только сессии, но и соединение с БД.
    Ответ написан
    Комментировать
  • Как читать log-файлы access.log?

    inside22
    @inside22
    Вадим Тимошенко может проще подключить Cloudflare.com и забыть про эту головную боль.

    Обратите внимание на запросы, они все со статусом 499, вас тупо атакуют, чтобы загрузить ваш сервер.

    499 CLIENT CLOSED REQUEST
    A non-standard status code introduced by nginx for the case when a client closes the connection while nginx is processing the request.


    Cloudflare на ура решит бесплатно все ваши проблемы :=)
    Ответ написан
    Комментировать
  • Как настроить ЧПУ на wordpress apache+nginx?

    inside22
    @inside22
    Как вам выше уже сказали, отказывайтесь от Apache и будет вам счастье.
    Вот вам конфиг и кеширование и много других полезностей.

    Вот тут надо будет указать правильную версию вашего PHP.
    fastcgi_pass unix:/var/run/php5-fpm.sock;

    server {
    	
    	listen 80;
    	set $root_path '/home/wordpress/www'; # default directory where the files will be stored and served from
    	root $root_path;
    	
    	index index.php; # index defined to be served under directory
    	server_name www.blog.com;
    			
    	set $skip_cache 0;
    
    	# POST requests and urls with a query string should always go to PHP
    	if ($request_method = POST) {
    		set $skip_cache 1;
    	}   
    	if ($query_string != "") {
    		set $skip_cache 1;
    	}   
    	
    	# Don't cache uris containing the following segments
    	if ($request_uri ~* "/wp-admin/|/xmlrpc.php|wp-.*.php|/feed/|index.php|sitemap(_index)?.xml") {
    		set $skip_cache 1;
    	}
    	
    	# Don't use the cache for logged in users or recent commenters
    	if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") {
    		set $skip_cache 1;
    	}
    	
    	location ~* \.(gif|jpg|jpeg|png|ico|bmp|wmv|3gp|avi|mpg|mpeg|mp4|flv|mp3|mid|js|css|woff|woff2|exe|eot|svg|ttf)$ {
    		root $root_path;
    		expires 14d;
    		add_header Pragma public;
    		add_header Cache-Control "public, must-revalidate, proxy-revalidate";
    		access_log off;
    		log_not_found off;
    	}
    	
    	#    Common deny or internal locations, to help prevent access to areas of
    	#    the site that should not be public
    	location ~* wp-admin/includes { deny all; }
    	location ~* wp-includes/theme-compat/ { deny all; }
    	location ~* wp-includes/js/tinymce/langs/.*\.php { deny all; }
    	location /wp-content/ { internal; }
    	location /wp-includes/ { internal; }
    	
    	#    The next line protects the wp-config.php file from being accessed, but
    	#    we need to be able to run the file for the initial site setup. Uncomment
    	#    the next line after setup is completed and reload Nginx.
    	location ~* wp-config.php { deny all; }
    
    	#    Prevent any potentially-executable files in the uploads directory from
    	#    being executed by forcing their MIME type to text/plain
    	location ~* ^/wp-content/uploads/.*.(html|htm|shtml|php)$ {
    		types { }
    		default_type text/plain;
    	}
    
    	location / {
    		try_files $uri $uri/ /index.php?q=$uri&$args;
    	}
    
    	error_page 404 /404.html;
    
    	error_page 500 502 503 504 /50x.html;
    		location = /50x.html {
    		root /usr/share/nginx/www;
    	}
    
    	location ~ \.php$ {
    		try_files $uri =404;
    
    		fastcgi_pass unix:/var/run/php5-fpm.sock;
    		fastcgi_index index.php;
    		include fastcgi_params;
    
    		fastcgi_split_path_info       ^(.+\.php)(/.+)$;
    		fastcgi_param PATH_INFO       $fastcgi_path_info;
    		fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
    		fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    		fastcgi_read_timeout    3600;
    
    		fastcgi_cache_bypass $skip_cache;
    		fastcgi_no_cache $skip_cache;
    
    		fastcgi_cache WORDPRESS;
    		fastcgi_cache_valid  5m;
    	}
    }


    /etc/nginx/nginx.conf
    ##
    # Fastcgi Params
    ##
    fastcgi_cache_path /var/run/nginx-cache levels=1:2 keys_zone=WORDPRESS:100m inactive=60m;
    fastcgi_cache_key "$scheme$request_method$host$request_uri";
    fastcgi_cache_use_stale error timeout invalid_header http_500;
    fastcgi_ignore_headers Cache-Control Expires Set-Cookie;
    Ответ написан
    Комментировать
  • NGINX - как предоставить нескольким пользователем доступ по SSH к /home/domain/www на один домен?

    inside22
    @inside22 Автор вопроса
    Единственное решение которое удалось найти, это создавать директории:

    /home/userone/
    /home/usertwo/

    и двух пользователей:
    userone
    usertwo

    а потом делать линк:

    ln -s /home/userone/ /home/static/www/userone
    ln -s /home/usertwo/ /home/static/www/usertwo
    Ответ написан
    Комментировать
  • Как сделать в NGINX первое найденное правило последним?

    inside22
    @inside22 Автор вопроса
    Александр Федотов проблема заключается в том, что я не использую rewrite, я использую proxy_pass. Где мне тут LAST или BREAK прописывать?

    location /blog {		
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header Host $host;
        proxy_pass http://blog.domain.com:80;
      }
    Ответ написан
    Комментировать
  • Как отсылать запросы domain.com - первый сервер, domain.com/other/ второй сервер?

    inside22
    @inside22 Автор вопроса
    Алексей Романенко, только так, верно? других вариантов не существует?

    server {
      server_name domain.com
      location /other/ {
        proxy_pass  http://other.domain.com/;
      }
    }
    Ответ написан
  • Как на NGINX сделать "http to https" и "www to non-www" сразу для пары доменов?

    inside22
    @inside22 Автор вопроса
    @kompi
    domain.com - это англоязычная версия сайта
    www.domain.com - это ALIAS англоязычной версии

    domain.ru - это русскоязычная версия сайта
    www.domain.ru - это ALIAS русскоязычной версии

    @merryjane по идеи два раза через реврайт проходить не будет.
    если клиент зашел на www.domain.com или на domain.com
    то его по любому редиректит на https://domain.com

    если он вдруг своими пытливыми ручками наберет в браузере https://www.domain.com то сработает второе правильно и клиент полетит на https://domain.com
    Ответ написан
  • Nginx Rewrite, как решить проблему с картинками из спецпапки?

    inside22
    @inside22 Автор вопроса
    Рабочий код. Файлы из этой папки отдает NGINX.
    location ~ /photos/(.*)$ {
    alias /home/username/public_html/mydomain.ru/modules/qplboard/image_db/$1;
    expires 14d;
    }
    Ответ написан
    Комментировать
  • Nginx Rewrite, как решить проблему с картинками из спецпапки?

    inside22
    @inside22 Автор вопроса
    Продолжаю эксперименты с конфигом NGINX:

    Работает, но пробрасывает запрос на Apache
    location ~ /photos/6426_1_b.JPG {
         rewrite ^ /modules/qplboard/image_db/6426_1_b.JPG;
    }


    Не работает вообще
    location ~ /photos/6426_1_b.JPG {
    alias /modules/qplboard/image_db/6426_1_b.JPG;
    }

    404 Not Found
    nginx/1.4.7
    Ответ написан
    Комментировать
  • Nginx Rewrite, как решить проблему с картинками из спецпапки?

    inside22
    @inside22 Автор вопроса
    @inkvizitor68sl по разному пытался, к сожалению ничего не получается.
    Один раз получилось "403 Forbidden", правда не приложу ума почему :-(

    location ~^/photos/ {
    alias /home/username/public_html/mydomain.ru/modules/qplboard/image_db;
    }

    403 Forbidden
    nginx/1.4.7

    location ~^/photos/(.*)$ {
    alias /home/username/public_html/mydomain.ru/modules/qplboard/image_db/$1;
    }

    404 Not Found
    nginx/1.4.7

    location ~ ^/photos/(.*)$ {
    alias /home/username/public_html/mydomain.ru/modules/qplboard/image_db;
    }

    403 Forbidden
    nginx/1.4.7
    Ответ написан
    Комментировать
  • Чем эффективно оптимизировать (Minify, Combine, Gzip) JS и CSS файлы на веб-сервере NGINX?

    inside22
    @inside22 Автор вопроса
    Спасибо вам всем большое.
    О существовании Grunt и Gulp я не знал... попробую установить Gulp , чтобы он собирал JS и CSS файлы от Wordpress, а дальше чтобы сжатые файлы отдавал NGINX.
    Ответ написан
    Комментировать