博客开发简记(1):博客从零到框架

我要写一个博客的网站,简单来说,就是能发表一篇篇信息的简单网站,怎么弄?

(一)python

先把python3.x安装好,对,不是php,是python,用它来开发web网站。

https://www.python.org/downloads/ ,在这个地方,找到对应平台的python,下载(比如python-3.7.4-macosx10.9.pkg),安装之,如果成功,查看一下版本:

python3 --version

看到这样的回应:

Python 3.7.4

为了方便,给python3起个简单的别名,在.bash_profile或.zshrc中,增加一句:

/usr/local/bin/python3

重启终端,查看一下修改情况:
给python3起个别名

到这里,我们的语言主角python,就算准备好了。

接下来,怎么撑起一个网站呢,怎么说也要上框架了吧? 没错,可是那么多web框架,用哪一个呢?不用多想,也不要多说,就用django。

(二)django

先是安装django,我在mac机上(后面会介绍怎么在linux上安装),这样安装就好(在安装python3.x时,pip3已经自动安装好):

sudo pip3 install Django

可以看到这样的提示:
mac-安装django

查看一下django的版本:

py -m django --version

django的版本

至此,这个网站的框架已经准备好了,通过它还可以启动web服务,可以直接访问它,这里用命令简单试一下。

先创建一个测试的目录,作为web项目所在地,然后cd到这个目录,执行:

django-admin startproject myblog

这时一个叫myblog的目录就创建起来,而且里面布置了框架脚本,如截图:
diango的项目结构

使用manage.py脚本来启动web服务:

py manage.py runserver

命令执行情况如下图:
启动django服务

服务启动了,用浏览器来访问一下:
访问django服务

ok,这个网站已经运行起来了。

最后,终极问题来了,刚才我是在mac机上创建这个网站的,但最终怎么部署到线上呢?比如我租了一个阿里云的服务器,怎么把这个网站弄上去呢?

(三)部署

我服务器的系统是ubuntu(阿里云更换服务器系统的操作说明:https://help.aliyun.com/document_detail/50134.html?spm=a2c4g.11186623.2.5.6rqKRn ),先来看一下python是不是安装好了:
自带python的版本

所以python是有的,而且python2跟python3都有,但是pip3是没有的,所以安装pip3。在安装之前,先更新一下软件包的信息,以便可以找到相应的软件包来下载:

sudo apt update

然后安装pip3:

sudo apt install python3-pip

成功后可以看到这样的信息:
ubuntu安装pip3后

也可以给python3加一个简单的别名,在~/.bashrc中,增加一句:

alias py='python3'

然后让这个配置生效,执行一下:

source .bashrc

这时你可以用py来代替python3了,好了,python就准备好了。

现在到django:

sudo pip3 install Django

安装成功后看看它的版本:
ubuntu-django的版本

然后就是创建博客项目啦,找一个目录吧,然后像上面说的那样启动django服务,如截图:
ubuntu启动django服务

你可能对“127.0.0.1”耿耿于怀,既然我公网ip都有了,至少我可以用这个公网ip来访问吧? 当然可以,改一下xblog/settings.py这个配置文件(里面有很多重要的配置项):

ALLOWED_HOSTS = ['xx.xx.xx.xx', 'freep2p.cn', 'localhost', '127.0.0.1']

这里加上公网ip,或者ip绑定的url(比如用于你的网站,我的是:www.freep2p.cn ,欢迎来访)。

然后,这样启动django服务:

py manage.py runserver 0.0.0.0:3389

'0.0.0.0'指允许settings.py设置的ip来访问。那么,端口为什么是3389?不是随便给的!这个要看服务器给你分配了哪些端口。 怎么知道分配了什么端口呢,对于阿里云,在实例的“更多”的菜单中,“网络和安全组”->“安全组配置”处,可以看到分配的端口,比如我的:
可以使用的端口

这里有个知识点,ip定位到机器,端口定位到进程(这里是django),如果你访问不到,你应该推理到,如果ip是对的那就能访问到机器,那有可能是端口出了问题,也有可能是django的设置做了访问限制。

还有一个问题,为什么是3389,为什么不是网站默认的80端口?那是因为我还没有添加,这个下一节引入域名时再讲,现在暂且使用这个预分配的端口。

于是,这样简单配置跟启动django后,就可以在浏览器用公网ip来访问了:
简单的ip访问网站

好了,服务器的web框架也搭建好了,在丰富这个博客项目之前,你可能对使用ip来访问还耿耿于怀,为什么不申请一个域名来访问呢?这是下一个要解决的问题。

总结一下,本文介绍了怎么搭建起web网站的框架,涉及python与django的安装与使用等内容,这一步之后还有很多工作要做,静下心来吧。

posted on 2019-10-10 14:18 广州小程 阅读(...) 评论(...) 编辑 收藏

导航

统计