Kterak jsem si rozchodil nginx v lxc (debian) --- jedna ip, vicero statickych stranek

Pozn: vim, ze to jde udelat asi mnoha zpusoby (pres location,root,alias,rewrite triky)
- potreboval jsem jednoduche /var/www/site1 http://10.0.1.1/site1
- kazdej z navodu mel jinej pristup (jeden konfig, vice konfigu, specificke pojmenovani podslozek, s domenou ci bez, s ssl ci bez, s proxy ci bez…atp)
- v mem pripade jsem chtel jednoduche nazvy slozek, jeden konfig, jedna ip.

  1. v LXC configu … polozka lxc.mount.entry , nutne pouzit “share” parametr
  2. je dobre udelat www-data uzivatele jak na host, tak na guest stroji. (stejne uid:gid) , nechtel jsem resit mapovani a sticky bity nad slozkama
  3. source_mount chown -R www-data:www-data , chmod -R 755 nad hlavni slozkou pro “www” (na host stroji a melo by se to vypropagovat do lxc)
  4. nginx.conf – jedine co jsem musel odkomentovat

server_names_hash_bucket_size 64;
server_name_in_redirect on;

  1. default_server config
    Pozn: Vsude hromada triku a tipu kolem location/root. Nekde jen pres wildcard, jinde za pouziti regexp vyrazu.
    Po opravdu dlouhem hledani jsem nekde nasel, ze v nekterych pripadech je lepsi pouzit “alias” namisto “root”. (muj pripad :slight_smile:
    • Pak se vse rozjelo (resp. musel jsem poresit prave body 1 az 3, pacz mi to hazelo 403/410/404 podle toho kde jsem do toho v shellu rubal)

server {
listen 80 default_server;
server_name 10.0.1.1;
location / { return 410; }
location /site1 { alias /var/www/site1; try_files $uri $uri/ =404; index index.htm index.html index.php; }
location /site2 { alias /var/www/site2; try_files $uri $uri/ =404; index index.htm index.html INDEX.HTML; }
location /site3 { alias /var/www/site3; try_files $uri $uri/ =404; index index.htm index.html INDEX.HTM; }
}