局域网图片网站制作:正式开始


前面三篇文章已经从零开始搭建好了运行环境,现在开始正式项目,前面三篇文章的地址如下:

1)项目规划局域网图片网站制作:项目规划
2)运行环境局域网图片网站制作:运行环境的搭建
3)安装配置局域网图片网站制作:Nginx,python及Flask的安装配置

若遇到自启动问题可以直接参考文章最后: 自启动的修改说明

第一步,github建立项目然后下载。

首先到github新建一个空的项目,名叫:LocalCartoon(前面有部分介绍把cartoon的翻译弄错,这里就不修改前面的了,这里修改一下就好了),切换到devlop分支。其地址:
https://github.com/honeeWong/LocalCartoon.git
可以在虚拟机中直接运行git clone https://github.com/honeeWong/LocalCartoon.git,就可以下载到最新的代码。

但是centOS默认是没有git,因此还要安装git,直接yum -y install git 等待安装完毕即可,配置git等其他一些简单配置这里就不赘叙了。

参考:记录:常用的git指令(持续更新)

第二步,增加项目相关文件目录和文件

简单的目录结构如下:
.
├── app     #  所有前台文件都在这里。
│   ├── cartoon    #  显示部分主要用于存放页面显示相关内容。
│   │   ├── __init__.py # 文件夹窗口,也是文件夹作为对象的关键。
│   │   └── views.py #  视图文件,用于页面显示
│   ├── extra # 其他部分,可能用的接口都存在这里。
│   │   └── __init__.py # 文件夹窗口,也是文件夹作为对象的关键。
│   ├── __init__.py # 文件夹窗口,也是文件夹作为对象的关键。
│   ├── static #  存放静态文件的位置,分为UI和客户存放的图片
│   │   ├── ui # UI存放位置
│   │   └── user # 客户图片存放位置
│   └── templates # 网页模板存放位置
│         └── index.html  # 主页面
├── LICENSE    # 代码的版权声明
├── localcarton.py  # 启动入口文件
├── option # 网站配置文件
└── README.md # 说明文件

说明:此是简单的网站的基本框架,由于内容较少,因此未分得特别细致。

第三步,开始编程

代码实现可以见github上实际代码,这里重点说明三个部分:蓝图,装饰器和flask_script

  • 关于蓝图

蓝图是flask用来模块化编程的关键,可以将不同的类型的模块用蓝图方式分开进行处理,方便区隔和编程。

  • 装饰器

flask的路由都是通过装饰器来实现的,具体见:app/cartoon/views.py中的index函数装饰器。

  • flask_script

flask_script是用来扩展flask的接口,方便调试和部署过程的,一般很少用于生产环节。

Gunicorn的自启动

开始编码,但是要每次开机有手动启动Gunicorn比较麻烦,因此一般采用开机自启动方式进行启动,而且还要使用supervisor 来进行守护启动。

首先安装supervisor,执行# yum -y install supervisor 即可。

然后修改守护启动配置文件,如下为内容:

1) 重置supervisor的conf文件:

#rm -f /etc/supervisord.conf
#echo_supervisord_conf > /etc/supervisord.conf

2) 增加如下字段:

[program:cartoon]
user=carton
directory = /home/carton/server/LocalCartoon
command=/home/carton/server/p3venv/bin/gunicorn -w 4 -b 127.0.0.1:8080 localcarton:application
autostart=true
autorestart=true
stopsignal=INT  

3) 修改supervisord.conf 字段为:serverurl=unix:///var/run/supervisor.sock,并新建/var/run/supervisor.sock文件,修改权限为777。

4) 用ps -aux | grep supervisord 找到已启动的supervisor,并手动kill掉,然后执行:supervisord -c /etc/supervisord.conf。

5) 添加到自启动目录下 # vim /etc/rc.d/rc.local,增加上述字段:supervisord -c /etc/supervisord.conf。保存即可,若无效果参考下一条。

服务自启动设置

若发现重启之后各种服务未启动,可依次按照如下方式输入命令

# nginx未自启动,输入:
# systemctl enable nginx.service

# samba未自启动,输入:
# systemctl enable smb.service
# systemctl enable nmb.service

# supervisor未自启动,输入:
# systemctl enable supervisor.service

此为最新centOS 7验证有效之自启动方式。

发表评论

电子邮件地址不会被公开。 必填项已用*标注