Ubuntu 10.04 32 ビット Linode VPS で nginx を実行したいと考えています。
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
sudo add-apt-repository ppa:nginx/development
sudo apt-get update
sudo apt-get install nginx
nginx 仮想ホストを作成するには:
mkdir -p /var/www/example.com/{public,logs}
sudo nano /etc/nginx/sites-available/example.com
そして次のように書いた
server {
listen 80;
server_name www.example.com;
rewrite ^/(.*) http://example.com/$1 permanent;
}
server {
listen 80;
server_name example.com;
access_log /var/www/example.com/logs/access.log;
error_log /var/www/example.com/logs/error.log;
location / {
root /var/www/example.com/public/;
index index.html;
}
}
次に、仮想ホスト example.com を有効にしました
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com
sudo /etc/init.d/nginx restart
index.html を配置/var/www/example.com/public
し、ブラウザから www.example.com の URL を入力します。それから私は次のようになりました
403 Forbidden
nginx/0.8.53
tail /var/log/nginx/error.log
次のエラーが発生します
*38 directory index of "/var/www/" is forbidden, client: 88.224.1.128, server: localhost, request: "GET / HTTP/1.1", host: www.example.com
やり直します
sudo chown -R www-data:www-data /var/www
sudo chmod -R 775 /var/www
しかし、同じエラーが発生します。
そして cat /etc/nginx/nginx.cnf
user www-data;
worker_processes 1;
error_log /var/log/nginx/error.log;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
# multi_accept on;
}
http {
include /etc/nginx/mime.types;
access_log /var/log/nginx/access.log;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
tcp_nodelay on;
gzip on;
# As per: http://wiki.nginx.org/NginxHttpGzipModule#gzip_disable starting
# with 0.7.63
gzip_disable "msie6";
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
index.html を /var/www/ に配置すると、html ファイルを表示できますが、/var/www/example.com/public の下に配置しようとすると失敗します。ファイルとフォルダーのアクセス許可を調べましたが、それらはすべて www-data に属し、読み取り可能です (775)
nginx を機能させるにはどうすればよいですか? ありがとう