有点奇怪的问题,但应该很容易解决。我现在正在开发一个 Django 网站,客户也想要一个 Wordpress 博客。因为我们忙得不可开交,还有其他项目,所以我们没有时间建立一个漂亮的 Django 博客,所以我们在一个子文件夹中为他们提供了 Wordpress。
我有丰富的使用 Nginx 的经验,但之前从未做过这样的事情,而且我对正则表达式不是很擅长。
结构如下:
blog (the wordpress blog)
contact
__init__.py
manage.py
settings.py
static (all my static media, htdocs directory)
templates
urls.py
wsgi.py
到目前为止,它非常轻量,只有一个应用程序(联系人应用程序)。我希望域/博客能够访问/blog/文件夹,并将静态媒体视为静态媒体,将 php 文件视为 php 文件,并将它们代理到我的 fastcgi 进程。
当然,我希望其他一切都能与 Django 协同工作,并进入我的 python fastcgi 进程。
需要说明的是,除了这个 nginx 配置之外,其他一切都运行正常。我的所有 fcgi 进程都运行正常。这是我的 nginx 配置:
# David Simons Website
server {
listen 80;
server_name ********;
root /usr/local/simons/static;
index index.html index.php;
location / {
fastcgi_pass 127.0.0.1:3033;
fastcgi_param PATH_INFO $fastcgi_script_name;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_pass_header Authorization;
fastcgi_intercept_errors off;
}
location ^~ /static/ {
alias /usr/local/simons/static/;
}
location ^~ /blog/ {
root /usr/local/simons/;
}
location ~* \.php$ {
fastcgi_pass 127.0.0.1:9000;
include /etc/nginx/fastcgi.conf;
fastcgi_param SCRIPT_FILENAME /usr/local/simons/$fastcgi_script_name;
}
location ~* ^.+.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js)$ {
access_log off;
expires 30d;
break;
}
}
答案1
你为什么不这样做
location /blog {
fastcgi_pass
etc.
}