Vhost config
Trường hợp sub-domain: vd yoursite.com và padm.yoursite.com:
Thì yoursite.com cần thêm default_server sau listen. Lý do là nếu ko domain chính sẽ đc redirect đến, ngoài ra thì m ko biết ng nhân khác.
server {
listen 80 default_server;
servername www.subdomain.yoursite.com
....
Bonus: alias cho nginx phỏng theo apache:
alias apcrst='sudo service apache2 restart'
alias apcrld='sudo service apache2 reload'
alias apctest='sudo apachectl configtest'
alias tailalob='tail -f /var/log/apache2/abc_error.log'
alias countapc='ps aux |grep apache | wc -l'
alias ngrst='sudo service nginx restart'
alias ngrld='sudo service nginx reload'
alias ngtest='sudo nginx -t'
ERR_ICANN_NAME_COLLISION when trying to use localhost .dev in Chrome
Lỗi liên quan đến tên vhost:
1. /etc/hosts kiểm tra
2. /etc/nginx/sites-available và /etc/nginx/sites-enabled xem tương ứng và chuẩn chưa. Ko thì unlink rồi tạo lại. Lưu ý khi tạo soft link cần chỉ định absolute path (y thì chưa rõ).
sudo ln -s /etc/nginx/.... /etc/nginx/......
Lỗi config server (vhost) hay server block. block chắc đúng cho config / 1 file như CentOS còn Ub (debian) thì tách ra file khác nhau roài.
Để ý: servername cần thêm cả www. ở đầu ko thì hay gặp lỗi nhiểu vhost loạn dẫn đến redirect về default vhost. Nó cứ bay về trang đầu tiên cài vhost.
Lỗi này thì Apache cũng vậy vì cơ chế set vhost là same.
ví dụ cho phpMyAdmin:
nickfarrow:playbuzz$ cat /etc/nginx/sites-available/padm.local.dev
server {
listen 80;
#ssl on;
#ssl_certificate /etc/nginx/ssl/server.crt;
#ssl_certificate_key /etc/nginx/ssl/server.key;
server_name www.padm.local.dev;
root /var/www/phpMyAdmin;
index index.php;
# set expiration of assets to MAX for caching
location ~* \.(ico|css|js)(\?[0-9]+)?$ {
expires max;
log_not_found off;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^(.+\.php)(.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Trường hợp sub-domain: vd yoursite.com và padm.yoursite.com:
Thì yoursite.com cần thêm default_server sau listen. Lý do là nếu ko domain chính sẽ đc redirect đến, ngoài ra thì m ko biết ng nhân khác.
server {
listen 80 default_server;
servername www.subdomain.yoursite.com
....
Bonus: alias cho nginx phỏng theo apache:
alias apcrst='sudo service apache2 restart'
alias apcrld='sudo service apache2 reload'
alias apctest='sudo apachectl configtest'
alias tailalob='tail -f /var/log/apache2/abc_error.log'
alias countapc='ps aux |grep apache | wc -l'
alias ngrst='sudo service nginx restart'
alias ngrld='sudo service nginx reload'
alias ngtest='sudo nginx -t'
Comments
Post a Comment