Tôi đã cố gắng để làm việc này trong nhiều giờ!
Tôi muốn thiết lập một máy chủ web đơn giản. Các tập tin web của tôi sẽ được trong /var/www
. Tôi cũng muốn có phpmyadmin. Tôi đã tạo một thư mục /var/phpmyadmin
. Bây giờ tôi muốn tích lũy các tệp web bình thường theo cách tiêu chuẩn.
Ví dụ: Các tập tin /var/www/test.php
nên được tích lũy với http://localhost/test.php
.
Phần phpmyadmin nên được tích lũy như thế này : http://localhost/phpmyadmin
. Với cấu hình bên dưới, tôi nhận được 404. Cũng với URL này:http://localhost/phpmyadmin/index.php
Đối với điều này, tôi đã tạo tập tin này trong thư mục availble của nginx:
server {
listen 80; ## listen for ipv4; this line is default and implied
listen [::]:80 default_server ipv6only=on; ## listen for ipv6
root /var/www;
index index.html index.htm index.php;
try_files $uri $uri/ $uri/index.html $uri/index.htm $uri/index.php;
# This didn't work
location /phpmyadmin/ {
alias /var/phpmyadmin;
}
# And this did neither. (Never used both at the same time!)
location /phpmyadmin/ {
root /var;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
# NOTE: You should have "cgi.fix_pathinfo = 0;" in php.ini
# With php5-cgi alone:
#fastcgi_pass 127.0.0.1:9000;
# With php5-fpm:
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}
Tôi đang làm gì sai?
Biên tập:
Điều thú vị cần lưu ý là điều này hoạt động (Thư mục gốc hoạt động ( http://localhost
)):
root /var/www/htdocs;
index index.php index.html index.htm;
location /phpmyadmin/ {
root /var/www/phpmyadmin;
}
Và điều này không:
index index.php index.html index.htm;
location / {
root /var/www/htdocs;
}
location /phpmyadmin/ {
root /var/www/phpmyadmin;
}
phpmyadmin vẫn không hoạt động!