关于本站
1、基于Django+Bootstrap开发
2、主要发表本人的技术原创博客
3、本站于 2015-12-01 开始建站
* WebFaction于2021年9月15日永久关闭,感叹啊!
前面写了Django网站、买了域名、买了空间。今天就来部署Django发布网站。
打开WebFaction点击 Log in 登录你的帐号。这里为了方便描述,先假设几个东西:
1、WebFaction账户名:ysh
2、WebFaction应用名:yshblog_app
3、Django工程名:yshblog
4、Django版本号:1.9.0
5、Python版本号:2.7
6、数据库:Sqlite
这些后面会用到。
1、在WebFaction创建域名
点击菜单 DOMAINS/WEBSITES 中的 Domains 。
再点击 Add new domain 按钮新增一个域名(或者使用默认创建那个也行)。
Name(名称)填写你购买的域名(我就填写yshblog.com),其他默认即可,Save保存。
2、创建应用
点击菜单 DOMAINS/WEBSITES 中的 Applications 。
再点击 Add new application 按钮新增一个应用。
Name(名称)填写应用名,这里我填写yshblog_app,建议填写你的Django工程名加上"_app"。
App category(应用类别)选择Django。
App type(应用版本)这个根据自己的Django工程搭配,注意看Django的版本和Python的版本。
我选择 Django1.9 和 Python2.7的版本。最后点击Save保存即可。
3、配置网站
这里的配置网站是将域名和应用联系起来。
点击菜单 DOMAINS/WEBSITES 中的 Websites 。
再点击 Add new website 按钮新增一个网站。
Name(名称)写网站的名称,这里建议用Django工程名+“-django”。我这里填写yshblog-django。
Domains(域名)填写域名,这里写入前面第1步新建的域名即可。
Contents(内容)点击 Add an application下拉框,选择Reuse an existing application,再选择第2步创建的应用即可。
Save保存完成配置。
WebFaction也提供了相关搭建Django网站的帮助:https://docs.webfaction.com/software/django/index.html
新增的网站左下角可以看到该网站的IP地址,该地址后面用于后台连接。
4、ssh登录后台
登录后台用xshell软件(下载地址 解压密码:www.epinv.com)
其中XshellPortable.exe是ssh主程序,XftpPortable.exe是ftp程序(用于上传和下载文件)。
因为后台是centos版本的Linux系统,得用ssh方式登录。
根据上面的IP地址新建回话,用户名是你的WebFaction帐户名,密码也是WebFaction的账户密码。
先用XFtp程序登录,可以看到后台的目录。
上传你的Django整个工程目录到后台的 /home/ysh/webapps/yshblog_app 中。
注意其中ysh是对应的WebFaction帐户名,yshblog_app是第2步创建的应用名。
把这个Django工程目录和yshblog_app文件夹下的myproject目录同级。
myproject是我们第2步自动创建出来的Django工程。
这里我建议用7-Zip把整个Django工程文件夹压缩成tar文件,再上传。一个文件上传速度比较快。
tar文件可以在后台用tar命令解压 "tar zvxf 文件名"。
不得不说,后台操作需要考验你的Linux功底。
5、后台配置Django
用XshellPortable.exe打开ssh回话。
整个界面就是Linux后台操作界面。
起始目录是/home/ysh
(1) 安装django第三方类库
输入命令 easy_install-2.7 pytz ,回车。
这个pytz是必要的,django后台查询要用到。
由于python是2.7的,easy_install也要用2.7。这个2.7是WebFaction预留的版本其中之一。
同样你还可以安装其他第三方类库,例如评论库 easy_install-2.7 django-contrib-comments
(2) 修改apache2的配置
输入命令 cd webapps/yshblog_app ,回车。
进入应用的文件夹输入命令 vim apache2/conf/httpd.conf ,回车。
进入apache2配置文件编辑。按字母i,开启编辑。
把httpd.conf中全部 myproject 的字样改成自己的Django工程名,我这里改成yshblog,退出保存即可。
编辑完成按Esc退出编辑,在输入:wq退出文件。
(3) 设置静态目录
这个静态目录要设置,不设置的话是访问不到我们生产环境下设置的静态文件。
输入命令 vim yshblog/yshblog/settings.py ,回车。
编辑Django工程的配置文件。
添加一行设置:
STATIC_ROOT = '/home/ysh/webapps/yshblog_app/yshblog/static_app/'
退出保存文件。对应的帐户名和应用名等,记得对应改一下成你自己的。
输入命令 python2.7 yshblog/manage.py collectstatic ,回车。该命令是收集静态文件到刚刚设置的目录static_app中。
输入命令 vim apache2/conf/httpd.conf ,回车。进入apache2配置文件编辑。
在LoadModule部分,加入一行 LoadModule alias_module modules/mod_alias.so 在最后加入如下设置
Alias /static/ /home/ysh/webapps/yshblog_app/yshblog/static_app/ <Directory "/static"> Require all granted </Directory>
把访问静态文件的链接引到刚刚设置的static_app目录中退出保存文件。
对应的帐户名和应用名等,记得对应改一下成你自己的。
最后,重启一下apache2服务即可看到效果。
输入命令 /home/ysh/webapps/yshblog_app/apache2/bin/restart,回车。
大功告成!在浏览器输入网址,打开你的网站看看效果。