试图让一个nginx安装程序运行,但每次我访问的地址,我被给予“找不到”,而不是我期待的laravel站点。
服务器工作正常之前,我添加虚拟主机,所以我猜这里有一些错误的configuration。 任何帮助发现错误,将不胜感激。
请注意,网站只能通过IP访问,这就是为什么我的填充IP为123.123.123.123 server_name 。
等/ nginx的/ nginx.conf:
listen 80; user nginx; worker_processes 4; worker_rlimit_nofile 200000; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 4000; use epoll; multi_accept on; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
等/ nginx的/现场可用/ mysite.conf:
server { server_name 123.123.123.123; access_log /srv/www/mysite/logs/access.log; error_log /srv/www/mysite/logs/error.log; root /srv/www/mysite/public_html/public; rewrite_log on; include /etc/nginx/mime.types; default_type application/octet-stream; access_log /var/log/nginx/access.log main buffer=16k; gzip on; gzip_disable "MSIE [1-6]\.(?!.*SV1)"; gzip_http_version 1.1; gzip_vary on; gzip_proxied any; #gzip_proxied expired no-cache no-store private auth; gzip_comp_level 6; gzip_buffers 16 8k; gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript text/x-js; open_file_cache max=200000 inactive=20s; open_file_cache_valid 30s; open_file_cache_min_uses 2; open_file_cache_errors on; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 90; keepalive_requests 100000; reset_timedout_connection on; client_body_timeout 30; send_timeout 30; # Remove trailing slash to please Laravel routing system. if (!-d $request_filename) { rewrite ^/(.+)/$ /$1 permanent; } location / { index index.html index.htm index.php; } location ~ \.php$ { try_files $uri =404 $uri/ /index.php?$query_string; include /etc/nginx/fastcgi_params; fastcgi_pass 127.0.0.1:9000; #fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_split_path_info ^(.+\.php)(.*)$; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /srv/www/mysite/public_html$fastcgi_script_name; } # We don't need .ht files with nginx. location ~ /\.ht { deny all; } # Set header expirations. location ~* \.(?:ico|css|js|jpe?g|JPG|png|svg|woff)$ { expires 365d; } }
你可以从/ etc / nginx / sites-enabled /中join,所以当你添加一个新的configuration到/ etc / nginx / site-available /时 ,
ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/mysite.conf
在你的mysite.conf中也添加一个listen指令
server { listen 123.123.123.123; server_name 123.123.123.123 ""; ... }
“”是空的HOST头请求,只是为了罚款。
更新更多的testing:
定义一个主服务器的access-default.log和一个access-mysite.log,这样你就可以看到谁说“找不到”(不仅仅是错误日志)。
还可以使用wget访问每个服务器(您的IP-Server和代理服务器)并查看日志。
向主服务器的位置添加一个“root”指令,并尝试访问非代理文件(如index.html)以查看谁认为负责。
您可以在testing过程中将虚拟服务器标记为default_server( 请参阅文档 )。
在你的mysite.conf中添加一个listen指令:
server { listen 80 default; server_name 123.123.123.123 ""; ...}