如何在Ubuntu和Nginx上结合Django和WordPress
现在我有一个基于Django(一个Python框架)的网站,运行得很稳定。 在这个网站上,我们需要使用WordPress作为内容管理系统(CMS)。 服务器配置在Ubuntu和Nginx上,但我不知道怎么把Django和WordPress结合在一起。 任何建议都非常感谢!
4 个回答
0
这里有一个具体的例子,讲的是如何使用Django的管理界面来处理WordPress:
1
如果你可以把Django和Wordpress当成两个独立的应用来运行,那你可以用nginx来处理哪些请求发送到哪个应用。
举个例子,如果你想用Wordpress来做的内容管理系统(CMS)只是一个博客,你可以让nginx把example.com/blog/
这个请求发送给Wordpress,而把其他的请求都发送给Django。
4
如果你想把一个已经存在的Wordpress数据库整合进来,可以使用Django的 ./manage.py inspectdb
命令,这个命令会帮你自动生成模型。Wordpress的数据库结构非常简单,所以这个命令应该能做得不错。另外,你也可以使用mezzanine,它可以导入Wordpress的数据,而且是一个基于Django构建的相当不错的博客系统。最后,你还可以直接编辑你的nginx.conf文件,让nginx从一个路径或域名提供Wordpress服务,而从另一个路径或域名提供Django服务。
下面是一个nginx.conf的示例(假设Wordpress在blog.example.com,Django在example.com):
# wordpress
server {
listen 80;
server_name blog.domain.com;
root /path/to/wordpress;
index index.html index.php;
location ~ .php$ {
expires off;
include fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /path/to/wordpress/$fastcgi_script_name;
}
}
# django
server {
listen 80;
server_name domain.com;
location / {
uwsgi_pass 127.0.0.1:3031;
include uwsgi_params;
}
}
另外,你也可以把Wordpress放在一个子文件夹里,比如说 /blog。