记录自己用python搭建个人博客系统的完整过程(二)

本篇博文是上篇博文的续篇,上篇博文链接如下:

记录自己用python搭建个人博客系统的完整过程(一)

先回顾一下上篇博文中完成的任务:

  1. 创建VPS,安装Centos7 x64位系统
  2. 注册域名并和VPS的ip地址做映射
  3. 安装python3.6.6
  4. 安装nginx服务和mysql服务
  5. 创建Blog的虚拟环境
  6. 在虚拟环境中创建myblog项目
  7. 在虚拟环境中安装uwsgi服务
  8. 在虚拟环境中安装Django1.10.6
  9. 修改myblog项目的数据库为mysql
  10. 开启防火墙80端口
  11. 创建blog的应用
  12. 修改nginx、uwsgi、setting等配置文件
  13. 创建博客系统的超级用户

最后 开启nginx服务、mysql服务,运行uwsgi --ini myblog_uwsgi.ini,用本地win7系统的浏览器访问 www.vava.info/admin 成功显示博客系统后台登录页面。在开始新操作之前,先对Centos7系统做一个快照,切记。

本篇博文要完成剩下的任务,给app添加各种模块,使其变成一个能用的博客系统

参考链接
教程链接: https://blog.csdn.net/geerniya/article/category/7227170
源码链接: https://github.com/geerniya/django_blog

====================================================================================

零、迁移后目录结构

     /root/.virtualenvs			 
			└─Blog
				│  manage.py
				│  myblog_nginx.conf
				│  myblog_uwsgi.ini
				│  uwsgi.log
				│  uwsgi.pid
				│  uwsgi_params
				│  
				├─bin
				│  └─__pycache__
				├─blog
				│  │  admin.py
				│  │  apps.py
				│  │  feeds.py
				│  │  forms.py
				│  │  models.py
				│  │  search_indexes.py
				│  │  tests.py
				│  │  urls.py
				│  │  views.py
				│  │  whoosh_cn_backend.py
				│  │  __init__.py
				│  │  
				│  ├─migrations
				│  │  └─__pycache__
				│  └─__pycache__
				├─include
				├─lib
				│  └─python3.6
				│      └─site-packages
				│          └─haystack
				│              └─backends
				│                      whoosh_backend.py
				│                      
				├─myblog
				│  │  middleware.py
				│  │  settings.py
				│  │  urls.py
				│  │  wsgi.py
				│  │  __init__.py
				│  │  
				│  └─__pycache__
				├─static
				│  ├─admin
				│  ├─css_js
				│  ├─fonts
				│  └─image
				├─templates
				│  │  404.html
				│  │  500.html
				│  │  archive.html
				│  │  base.html
				│  │  blog-detail.html
				│  │  category-detail.html
				│  │  index.html
				│  │  tag-detail.html
				│  │  tags.html
				│  │  
				│  └─search
				│      │  search.html
				│      │  
				│      └─indexes
				│          └─blog
				│                  blog_text.txt
				│                  
				└─whoosh_index
						MAIN_4t0mu415jjiqe8eo.seg
						MAIN_eqhggn5jt97c5pcv.seg
						MAIN_qpbeb1pj9suas8jv.seg
						MAIN_WRITELOCK
						MAIN_y0q7tduosrxrph50.seg
						_MAIN_9.toc
						

一、迁移过程

1、需要注意的地方是本次实验与原博主的源码目录有所区别,以下是本次实验所用目录:

  • Blog目录为虚拟环境目录,此目录下有manage.py、nginx配置文件、uwsgi文件、uwsgi运行日志等文件
  • Blog/blog 是创建的应用的目录 此目录下有urls.py、model.py、admin.py等文件
  • Blog/myblog 是创建的项目的目录 此目录下有urls.py、setting.py等文件
  • Blog/lib 虚拟环境安装的pip扩展文件都在此目录下
  • Blog/static 用于存放html样式文件的目录
  • Blog/templates 用于存放基本html文件

2、迁移

  1. 将源码文件复制到自己创建的项目的对应目录,注意不要复制setting.py文件,要把源码setting.py中需要修改的代码复制到自己项目的setting.py文件中
  2. 自己创建的项目和源码目录对比:
    ● Blog/bin 目录不用修改
    ● Blog/blog 将源码中的py文件全部复制过来,并添加一个新的urls.py文件
    ● Blog/incude目录不用修改
    ● Blog/lib目录基本不用修改,原教程中在添加搜索功能的时候修改了一个本目录下的一个文件的参数,注意一下
    ● Blog/myblog 将源码中的py文件全部复制过来,并修改urls.py文件
    ● Blog/static 将源码中的文件全部复制过来
    ● Blog/template 将源码中的文件全部复制过来
    ● Blog/whoosh_index 在自己的实验中创建该目录
    ● 对比下以上各个需要修改的目录下的py文件与源码py文件有哪些路径上的不同,修改过来

3、安装 pip库文件及优化

  • 切换到虚拟环境目录,启用虚拟环境
cd ~/.virtualenvs/Blog
workon Blog
pip install django-pure-pagination #与分页有关
pip install markdown #给博客添加markdown功能
pip install whoosh django-haystack jieba #与中文搜索有关,搜索阿拉伯数字没有结果,不知道哪里的问题
  • 搜索优化参考链接 https://blog.csdn.net/geerniya/article/details/79255772

4、启用服务

systemctl restart nginx #启动nginx服务
systemctl restart mariadb #启动mysql服务

python manage.py makemigrations
python manage.py migrate #迁移数据库
python manage.py rebuild_index #建立索引文件
uwsgi --stop uwsgi.pid ;uwsgi --ini myblog_uwsgi.ini #停止并启动uwsgi服务

5、访问自己的域名

如果各种配置文件和py文件内容和目录结构没有错误,经过以上操作之后就可以访问自己的博客网址了(先访问admin后台增加一个访问统计,不然直接访问网站首页会出错),可根据自己的情况修改下html等文件变成自己的博客
记录自己用python搭建个人博客系统的完整过程(二)_第1张图片

6、在调试过程中遇到的问题及注意事项

  • 修改model.py需要更新数据库
python manage.py makemigrations
python manage.py migrate
  • 修改admin.py、setting.py、views.py等文件需要重启uwsgi
uwsgi --stop uwsgi.pid ;uwsgi --ini myblog_uwsgi.ini #停止并重新启动uwsgi
  • 修改需要重启uwsgi
  • 增加新页面,在views.py文件中添加class,然后在blog/urls.py import class,添加url(注意新增url在末尾要加逗号),最后在temp目录中添加html

7、目前遗留问题,后期有可能会处理

  • 把博客页面的各种链接变成自己的想显示的地址
  • 把文章浏览页面微信红包等去掉
  • 博客主页左侧栏分类没有链接,不能点
  • http变成https
  • nginx根目录配置文件是user root,需要修改成普通用户

你可能感兴趣的:(学习总结,python学习)