• Nginx и два сайта на одном домене

    Дарю универсальный конфиг для кучи проксируемых черех nginx доменов c автоматическим редиректом доменов с www на без www. Сервер на Убунту.

    nginx.conf
    user www-data;
    worker_processes 1;
    pid /var/run/nginx.pid;
    
    events {
    	worker_connections 4096;
    	multi_accept on;
    }
    
    http {
    
    
    	sendfile on;
    	tcp_nopush on;
    	tcp_nodelay on;
    	keepalive_timeout 65;
    	client_max_body_size 100M;
    	types_hash_max_size 2048;
    
    	server_names_hash_bucket_size 64;
    
    	include /etc/nginx/mime.types;
    	default_type application/octet-stream;
    
    
    	access_log /var/log/nginx/access.log;
    	error_log /var/log/nginx/error.log;
    
    
    	gzip on;
    	gzip_disable "msie6";
    
    	gzip_vary on;
    	gzip_proxied any;
    	gzip_comp_level 5;
    	gzip_buffers 16 8k;
    	gzip_http_version 1.1;
    	gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
    
    	map $host $host_wo_www {
    		default $host;
    		~^www\.(?P<wo_www>.+)$ $wo_www;
    	}
    	include /etc/nginx/conf.d/*.conf;
    	include /etc/nginx/sites-enabled/*;
    }
    
    


    В sites-enabled/default
    server {
    	listen 80;
    	server_name ~^(?:www\.)?(?P<host_wo_www>.+)$;
    	server_name_in_redirect	off;
    	resolver	127.0.0.1;
    
    	access_log	/var/log/httpd/$host/access.log;
    	location	~* \.(?:jpe?g|gif|png|ico|css|zip|tgz|gz|rar|bz2|dic|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|swf|flv|mp3)$
    	{
    		root	/var/www/$host_wo_www/www;
    		access_log off;
    		expires	30d;
    		add_header Pragma public;
    		add_header Cache-Control public;
    	}
    
    	location / {
    		root	/var/www/$host_wo_www/www;
    		index	index.html index.htm index.php;
    		access_log	off;
    		proxy_pass http://127.0.0.1:8081;
    		proxy_set_header X-Real-IP $remote_addr;
    		proxy_set_header Host $host;
    		proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    	}
    }
    
    Ответ написан
    Комментировать
  • Nginx и два сайта на одном домене

    AGvin
    @AGvin
    В общем, в «location / » Вы можете прописать еще пару location-ов

    server {
        listen   80;
        server_name domain.com;
    
        location / {
    	root   /var/www/path/to/;
    	...
        	location /project1/ {
    	    root /var/www/path/to/project1/;
    	    ...
    	}
        	location /project2/ {
    	    root /var/www/path/to/project2/;
    	    ...
    	}
        }
    }
    

    Где "..." — общие параметры (тот же «include fastcgi_params;» или «fastcgi_pass unix:/var/run/php5-fpm.sock;»). Их Вы можете вынести в другой конфиг и подключить с помощью «include»
    Ответ написан
    Комментировать
  • Автоматическая синхронизация структуры БД MySQL ?

    Wott
    @Wott
    Дурацкая мысль — настроить репликацию и включать лог вручную только для DDL команд SET SQL_LOG_BIN=1

    Но вообще имхо как-то неправильно. Я делаю так что тестовое окружение восстанавливаемо, то есть есть где-то заливка базы, которую использую для инициализации перед прогоном тестов. Соответственно ее можно разделить на схему и данные и схему брать из продакшена экспортом. Либо схема лежит в VCS целиком для данного билда или в виде патчей.
    Ответ написан
    Комментировать