随着网络的普及和信息的爆炸,拥有一个个人网站已经成为越来越多人的梦想。但很多人因为技术门槛高、成本昂贵等原因而望而却步。今天,就让我带你轻松免费构建起属于你个人的网络家园。

聊聊建站说起建站,很多人都有感慨,因为只有当遇到比较大的问题的时候才会考虑搭建自己的网站,比如需要展示个人作品、分享生活点滴、开展线上业务等等。在这种无奈情况下,我们不得已选择了第三方平台,寄希望于解决所有问题,但往往代价比收益高出一个数量级。

但建站这件事情是一件必经之路,任何一个想要展示自己的人都会经历这一历程。因为没有人能在最初的时候就预示到最终的功能和样式(如果能预示那何必有最初呢)。就算像BAT这样成熟的公司,他们内部的系统也是平均两年做一次迭代。

回过头来说一下我搭建个人网站的初衷:1)我也在不断成长的,作为一个想做全栈的工程师来说,新思路总想去尝试;2)很多关注我的网友觉得我之前写的教程总有意犹未尽的感觉,希望能深入写一点;3)php终究不是世界上最好的语言(此处可能引发战争),用来用去觉得还是迁移python为好,也和我们的机器学习知识做个融合。

技术选择首先说语言。我曾说过,语言只是工具,每门语言都有它存在的理由,它擅长用在什么地方就用在什么地方,不擅长的不要勉强,不歧视、不在一棵树上吊死、哪个行就上哪个。

后端语言我选择了python,因为python是社区最活跃的语种之一且呈上升趋势,另外也是大数据与人工智能方向的主流语言。web框架我选择的是django,因为它更专业更强大,扩展性强,社区也更活跃。

前端框架我选择直接用django模板渲染,没有选择angular等前端框架,因为seo不友好。服务端容器选tomcat、apachehttpd、nginx等web服务器下游,需要部署python的应用服务器容器,我选择wsgi,它类似与nginx,通过一个守护进程把不同的http请求转交给子进程并发处理,并且支持多线程的方式,性能较高,更重要的,django会自动帮我们生成wsgi的配置,天然对wsgi友好。

下面我将详细介绍如何利用这些技术免费搭建个人网站。

  1. 准备开发环境

首先,你需要下载python。可以通过官方网站(https://www.python.org/downloads/)下载指定版本的python包进行本地安装。根据不同的操作系统选择合适的安装方式即可。

  1. 安装django框架

在已安装的python环境中,运行以下命令安装django:

pip install django==1.11

以上命令将安装django及所有依赖库。

  1. 创建网站项目

通过django提供的命令 django-admin startproject 创建一个新项目:

django-admin startproject mysite

上述命令将会在当前目录下创建一个名为 mysite 的文件夹,并包含以下文件和文件夹:

  • manage.py:一个Django的管理脚本。
  • mysite:网站项目的配置信息。
    • init.py:初始化模块,确保其为Python包。
    • settings.py:项目设置文件,包括数据库配置、应用程序安装等信息。
    • urls.py:URLs映射表,用于路由请求到相应视图。
    • wsgi.py:WSGI接口,允许Django与Web服务器(如Apache和Nginx)交互。
  1. 添加应用并创建模型

现在你可以通过命令 python manage.py startapp appname 创建一个名为 appname 的应用程序。在应用程序目录中,你会得到以下文件:

  • init.py:初始化模块。
    • admin.py:用于管理和配置Django管理系统界面。
    • apps.py:包含应用程序配置信息的类。
    • migrations/:保存数据库迁移脚本。
    • models.py:定义数据模型的表单结构。
    • views.py:处理用户请求并返回相应结果的视图。

打开 appname/models.py,创建一个名为 Article 的模型:

from django.db import models

class Article(models.Model):
    title = models.CharField(max_length=200)
    content = models.TextField()
    published_date = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return self.title
  1. 定义URLs和视图

打开 appname/urls.py 文件,设置路由:

from django.contrib import admin
from django.urls import path
from .views import list_articles, detail_article

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', list_articles, name='list_articles'),
    path('<int:article_id>/', detail_article, name='detail_article'),
]

现在你需要为每个视图函数定义返回内容。打开 appname/views.py 文件,添加以下内容:

from .models import Article

def list_articles(request):
    articles = Article.objects.all()
    return render(request, 'appname/article_list.html', { 'articles': articles })

def detail_article(request, article_id):
    article = get_object_or_404(Article, pk=article_id)
    return render(request, 'appname/article_detail.html', {'article': article})

接下来,你还需要在 mysite/settings.py 文件中配置数据库。

  1. 创建数据库表

执行以下命令创建项目所使用的数据库和表:

python manage.py makemigrations
python manage.py migrate
  1. 启动开发服务器

现在你可以启动开发服务器以测试你的网站。通过以下命令来运行该服务器:

python manage.py runserver

现在你应该可以看到本地开发服务器的默认主页:

localhost:8000/

如果你想要访问更高级的页面或实现特定的功能,你可能需要编写更多的视图函数、URLs和其他代码。

以上就是利用免费技术开发一个个人网站的基础知识点。希望本文能帮助你轻松步入建站之路!