[英]How to configure nginx to run Wordpress and Django
我看过几个类似的问题,但是它们似乎没有任何帮助。 我有一个vultr.com实例,以默认的1单击配置运行Wordpress。 Centos6如果重要的话。 这是(并且我希望它保留在)根目录( www.mysite.com
)中。 我想让我的Django应用程序在www.mysite.com/crossfaded/
运行。 我不想当前服务器发生任何停机,因此该服务器还没有域名关联。 我正在尝试仅使用IP来做到这一点。
Wordpress网站运行正常。
我一直在关注导向这里作为然后试图这一个 ,但是当我浏览到http://ip.add.re.ss/crossfaded/media/apple.jpg
在我的浏览器,我从nginx的获得了404。 /crossfaded/media/
给了我来自nginx的403, /crossfaded/invalidpath/
给了我Wordpress服务的404,所以路由发生了一些变化。 我在偶然的时候做了chmod 777 apple.jpg
,这是一个权限问题,但是那没做。
我有一个预感,我已经弄不清楚了location
块的语法,但是我不确定。
wordpress_http.conf
upstream php-handler-http {
server 127.0.0.1:9000;
#server unix:/var/run/php5-fpm.sock;
}
server {
listen 80 default_server;
server_name _;
#server_name wordpress.example.com;
root /var/www/html/;
index index.php;
# set max upload size
client_max_body_size 2G;
fastcgi_buffers 64 4K;
access_log /var/log/nginx/wordpress_http_access.log combined;
error_log /var/log/nginx/wordpress_http_error.log;
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
location / {
try_files $uri $uri/ /index.php?$args ;
}
location ^~ /wp-admin/ {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/htpasswd/wpadmin;
location ~* \.(htaccess|htpasswd) {
deny all;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-handler-http;
fastcgi_read_timeout 60s;
}
}
location ~* \.(htaccess|htpasswd) {
deny all;
}
location ~ \.php(?:$|/) {
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_pass php-handler-http;
fastcgi_read_timeout 60s;
}
# set long EXPIRES header on static assets
location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
expires 30d;
access_log off;
}
location ~ /crossfaded/static/ {
alias /root/crossfaded/static/;
}
location ~ /crossfaded/media/ {
alias /root/crossfaded/media/ ;
}
}
有两个问题:
我需要在别名的位置插入一个尖号(^),因此:
location ^~ /crossfaded/static/ { alias /root/crossfaded/static/; } location ^~ /crossfaded/media/ { alias /root/crossfaded/media/ ; }
~/
为/root/
。 Nginx需要从/
到相关文件的所有目录的rx
权限。 它没有那个。 将项目目录移动到/home/
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.