Странный вопрос, но решить его довольно легко. Я разрабатываю веб-сайт 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, переходя к моему процессу fastcgi на python.
Для записи, все работает правильно, кроме этой конфигурации 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;
}
}
Почему бы тебе просто не сделать
location /blog {
fastcgi_pass
etc.
}