因为最近腾讯云对学生有很大的优惠,基本上学生认证之后每个月会发一张购买服务器的代金券,只需要1元每个月购买一个最基本的服务器,对于一些想玩玩练练手的同学来说,再好不过了(正常的中小项目完全够用)。

1. 准备工作

  1)百度腾讯云官网,注册,认证(不是学生的跳过学生认证)。
  2)购买云服务器。基本上最低配置就够用了,根据个人的喜好选择操作系统配置用户名密码以及公钥即可,不会配置的选择默认的就好了或者自行Google。如下图:
  3)下载一个xshell或者其他的可以ssh连接的终端工具,或者ubuntu下直接使用ssh即可,在腾讯云上找到自己的服务器的IP地址填入进去建立链接,默认使用22号端口即可,当然腾讯云也提供了web端登录,见图片右端的登录按钮。

  

2. 配置文件(ubuntu云主机)

  1) 输入用户名密码登录,更新源sudo apt-get update。输入python查看版本号(我的是2.7),

sudo apt-get install python-pip
sudo pip install django
sudo apt-get install apache2
sudo apt-get install libapache2-mod-wsgi
下面是我自己的项目需要安装的一些,可忽略:
sudo apt-get install git
sudo pip install pygithub
sudo apt-get install python-networkx
获取项目源码:
git clone http://github.com/ch710798472/GithubRecommended.git

  2)apachectl -v查看Apache版本号如果是2.2的话稍微有些变动,我用的是2.4.7。新建一个站点的配置文件sudo vi /etc/apache2/sites-avaiavle/yoursitename.conf写入如何格式的内容,具体的比较重要的就是WSGIScriptAlias和static的路径不能写错了。我的项目路径是/home/ubuntu/GithubRecommended,请参照修改某些值。
```
VirtualHost *:80>
ServerName your ip or domain.com
#ServerAlias otherdomain.com
ServerAdmin xxxxxx@qq.com

#Alias /media/ /home/projects/dlsPro/media/
Alias /static/ /home/ubuntu/GithubRecommended/static/
<Directory  /home/ubuntu>
  Require all granted
</Directory>

<Directory  /home/ubuntu/GithubRecommended/static>
  Require all granted
</Directory>
<Directory  /home/ubuntu/GithubRecommended>
  Require all granted
</Directory>
WSGIScriptAlias / /home/ubuntu/GithubRecommended/Web/wsgi.py
<Directory /home/ubuntu/GithubRecommended/Web>
<Files wsgi.py>
  Require all granted
</Files>
</Directory>

  3) 修改项目下的文件wsgi.py,`vi /home/ubuntu/GithubRecommended/Web/wsgi.py`,添加一些内容,关联Apache和django项目,最后文件内容如下:

import os

from django.core.wsgi import get_wsgi_application

from os.path import join,dirname,abspath

PROJECT_DIR = dirname(dirname(abspath(file)))
import sys
sys.path.insert(0,PROJECT_DIR)

os.environ["DJANGO_SETTINGS_MODULE"] = "Web.settings"#我的设置在Web文件夹下,请自行修改,其他的基本不需要改,如果有多个django项目的设置均添加在此处

application = get_wsgi_application()

  保存文件,开启新网站`sudo a2ensite yoursitename.conf`重启Apache服务

sudo service apache2 reload
sudo service apache2 restart
```
  打开ip地址或者网站即可。
  4) 对于settings中的debug要不要关闭看个人喜好了,但是关闭之后对于django项目的静态文件等需要Apache来托管包括缓存更新的问题都是需要考虑的,由于我这边一直在开发所以就没有关闭debug,那么静态文件的配置就不要那么复杂,如果遇到403或者找不到静态文件的错误,请仔细检查上面的路径是否正确,是否给予你需要访问文件的权限。

当然了,如果你使用我的网站项目,你会遇到一些问题,比如在搜索框输入ch710798472这个用户会提示缺少配置文件config.cfg,或者提示你某些json找不到,不要慌,只需要在RecGithub下创建一个文件config.cfg写入如下内容即可。然后修改chpython.py中每个函数中的json文件的路径成绝对地址(当然你也可以配置静态文件也行,我这里就偷个懒,留给你们自己配置)。

config.cfg文件内容:

[info]
user:你的github账号名
passwd:密码

当然了还有个文件目录的写权限需要修改:

cd /static/bootstraps
sudo chgrp -R www-data data
sudo chmod -R g+w data

重启Apache服务即可。

3. 总结

  如果说仅仅是个演示平台或者自用的平台无需购买域名,因为现在的域名备案很麻烦,还不如直接ip地址使用来的实在省钱,当然你在生产环境中会遇到各种问题,你需要查看/var/log/apache2下的log文件排除错误,或者通过django的debug信息。

万事开头难,只怕有心人