部署图书管理系统

前戏:

一、python创建虚拟环境

fiel ----settings ---  Project  xxx   project interpreter  ---->右上角齿轮

选择路径,base interpreter 本体python解释器用3.6----ok   虚拟环境创建成功

二、确保开发环境的一致性

将本体python的所有包,安装在虚拟环境上
操作方法:

1、 导出当前python环境的包
pip3 reeeze > requirements.txt

2、创建一个虚拟环境mkvirtualenv shion

3. 在venv中导入项目所需的所有依赖
pip3 install -r requirements.txt

前戏结束

部署图书管理系统项目

1、-上传图书管理系统项目到linux服务器

  用xftp

2、-完成python3解释器的安装

3、 -完成virtualenvwrapper工具的配置,解决虚拟环境问题

4、创建虚拟环境mkvirtualenv book_homework_env/5、

5、-完成centos7下安装配置mariadb数据库,且创建数据库数据,迁移导入图书管理系统数据

  1 安装mariadb数据库

  2 导出book_homework项目的数据

    (1)第一种方法,使用navicat导出

    (2) 第二种方法,使用mysqldump命令, 此命令适用于windows和linux下

  

  3 在服务器上将数据导入到mariadb数据库中

    (1) 进入数据库, 先创建一个数据库 book_homework

create database book_homework

    (2) 进入此数据库

use book_homework
source /opt/book_homework.sql

  4 允许root用户远程登录数据库   

    (1) 第一种方法, 在初始化数据库的时候,就允许root用户远程登录

    (2) 第二种方法 使用SQL语句进行授权

grant all privileges on *.* to [email protected]"%" identified  by "nihao123";

#  all privileges  所有权限
# *.*  所有数据路.所有表

5、测试使用linux的python解释器去运行项目 切换到 项目中运行(注意要解决解释器的模块问题,才能正常运转项目)

# 1、切换到项目中含有manage.py的目录
# 2、运行 python3  manage.py  runserver  0.0.0.0:8000

#  也可以先进入虚拟坏境,workon shion   在虚拟环境下切换到线路含有manage.py的目录,然后运行 python3  manage.py  runserver  0.0.0.0:8000
#  启动时,可能会提示少了模块,安装相应模块即可

6、通过网页端输入 192.168.1.250:8000 可以访问

完成uWSGI命令学习,使用uWSGI启动图书管理系统项目

uWSGI支持多进程,高并发

前戏: 实现一个最简单的uwsgi访问

  1、安装uwsgi

pip3 install uwsgi

  

2 创建一个测试文件testuwsgi.py, 运行简单的uWSGI站点

  第一步vim /opt/book_homework/testuwsgi.py 写入以下文件

    def application(env, start_response):        start_response(‘200 OK‘, [(‘Content-Type‘,‘text/html‘)])        return [b"Hello World"]

  第二步 使用uwsgi命令启动此文件

    uwsgi --http :9000 --file testuwsgi.py

  第三步 在浏览器通过IP加端口进行访问

     http://192.168.1.49:9000

3 前戏结束

用uwsgi跑图书管理项目

# 在启动命令后面加上参数
uwsgi --http :8088 --module book_manage_system.wsgi --py-autoreload=1  # 此命令应该在django项目目录下才可以,--module才能找到它的参数book_manage_system.wsgi
    --py-autoreload=1  # 参数表示自动加载python配置

# 运行上面的命令即可启动图书管理项目# 但你会发现没有样式

使用uwsgi配置文件去启动项目

前面学的启动uwsgi的命令都特别长,因为加了很多参数,太难记了,那怎么办? 我们有更好的方法,就是在项目下面创建一个uwsgi.ini的文件,然后通过读这个文件来启动uwsgi

# uwsgi.ini配置文件, uwsgi支持ini、xml等多种配置方式,本文以 ini 为例, 在/etc/目录下新建uwsgi.ini,添加如下配置:

# uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir           = /opt/mysite
# Django‘s wsgi file
module          = mysite.wsgi
# the virtualenv (full path)
home            = /opt/venv
# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 1
# the socket (use the full path to be safe
socket          = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true

# uwsgi.ini配置文件详解

[uwsgi]
# Django-related settings
# the base directory (full path)
# 写上项目的绝对路径
chdir           = /opt/book_manage
# Django‘s wsgi file
# 填写找到django的wsgi文件,填写相对路径,以chdir参数为相对路径
module          = book_manage.wsgi
# the virtualenv (full path)
# 填写虚拟环境的绝对路径
home            = /root/Envs/book_manage_env/
# process-related settings
# master
#启动uwsgi主进程
master          = true
# maximum number of worker processes
processes       = 1
# the socket (use the full path to be safe
#如果你使用了nginx,做反向代理,必须填写socket链接,而不是http参数
socket          = 0.0.0.0:8000
#如果你不用nginx,直接使用uwsgi,运行一个http服务端,就用这个http参数
http = 0.0.0.0:8000
# ... with appropriate permissions - may be needed
# chmod-socket    = 664
# clear environment on exit
vacuum          = true

uwsgi.ini配置详解

wsig.ini文件详解

注意事项:

# 注意这四点

# 写上项目的绝对路径
chdir           = /opt/book_manage
# Django‘s wsgi file

# 填写找到django的wsgi文件,填写相对路径,以chdir参数为相对路径
module          = book_manage.wsgi

# the virtualenv (full path)
# 当前使用的虚拟换机的绝对路径
home            = /root/Envs/shion/

#如果你使用了nginx,做反向代理,必须填写socket链接,而不是http参数
# socket          = 0.0.0.0:8000
#如果你不用nginx,直接使用uwsgi,运行一个http服务端,就用这个http参数
http = 0.0.0.0:8000

启动项目的命令

uwsgi --ini  /opt/book_manage_system/uwsig.ini

项目启动了,但是没有样式,所有要用nginx连接样式

使用ngixn处理django的静态文件

1 收集django静态文件 

vim /opt/book_homework/book_homework/settings.py

加入一行配置

STATIC_ROOT=‘/opt/static‘

回到django项目主目录下(有manage.py文件的目录), 输入命令进行收集静态文件

python3 manage.py collectstatic  #会自动在/opt目录下创建static文件夹

2 配置nginx与uwsgi结合

修改nginx的配置文件/opt/nginx1.12/conf/nginx.conf,添加以下配置

location / {
            # nginx自带ngx_http_uwsgi_module模块,起到nginx和uwsgi交互作用
            # 通过uwsgi_pass设置服务器地址和协议,将动态请求转发给uwsgi处理
            include  /opt/nginx112/conf/uwsgi_params;
            uwsgi_pass 0.0.0.0:8000;
            root   html;
            index  index.html index.htm;
        }

location /static {
            alias /opt/static;
        }

配置入下图:

4 平滑重启nginx

/opt/nginx112/sbin/nginx -s reload

5 确保uwsgi已经正常启动

6 启动项目

uwsgi  --ini   /opt/book_manage_system/uwsgi.ini

supervisor

可以自动重启uwsgi服务,保证服务可以持续运行

1、安装supervisor

# 注意此时已经退出虚拟环境了!!!!!
easy_install supervisor

# 如果没有easy_install的话,就yum安装一个setuptools工具就可以用了
yum install python-setuptools

2 通过命令生成supervisor的配置文件

echo_supervisord_conf > /etc/supervisord.conf

然后再/etc/supervisord.conf末尾添加上如下代码!!!!!!

[program:book_manage]
command=/root/Envs/book_manage_env/bin/uwsgi /opt/book_manage/uwsgi.ini
stopasgroup=true
killasgroup=true

3 最后启动supervisor,完成uWSGI启动django,nginx反向代理

supervisord -c /etc/supervisord.conf # 启动supervisor
supervisorctl -c /etxc/supervisord.conf restart book_manage  # 重启book_manage项目

4、项目成功启动

重新加载supervisor

一、添加好配置文件后

二、更新新的配置到supervisord    

supervisorctl update
三、重新启动配置中的所有程序

supervisorctl reload
四、启动某个进程(program_name=你配置中写的程序名称)

supervisorctl start program_name
五、查看正在守候的进程

supervisorctl
六、停止某一进程 (program_name=你配置中写的程序名称)

pervisorctl stop program_name
七、重启某一进程 (program_name=你配置中写的程序名称)

supervisorctl restart program_name
八、停止全部进程

supervisorctl stop all
注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。

原文地址:https://www.cnblogs.com/echo2019/p/10650650.html

时间: 2024-11-04 13:32:41

部署图书管理系统的相关文章

PHP+MySql实现图书管理系统

这个图书管理系统是我学完PHP时写的一个练手项目,功能参考了自己学校的图书管理系统.为了锻炼自己的动手能力以及加深对代码的理解,前端和后端均由自己完成,前端使用了一些基本的框架(毕竟我主攻后端开发方向),后端大部分要用到的功能都是自己从底层实现并封装,基本没有用到第三方框架.总体来说还是比较简陋的,在某些地方可能存在缺陷或者漏洞. 项目地址 此项目已经提交到我的Github中 仓库地址:https://github.com/horvey/library-manager 基本功能 用户 查询图书状

图书馆图书管理系统开发前期需求探索

鉴于近期给一个客户开发图书馆图书管理系统,在与客户的合作过程中,遇到了很多问题,总结起来主要是前期需求不明确!因此,本文的目的主要是探讨关于图书管理系统开发前的客户需求调研,只有充分了解了客户的需求,才能做出满意的系统. 一.功能模块需求1.图书管理:图书管理.新增图书.作者.图书分类.批量导入.条码管理 2.借阅管理:图书借阅.图书归还.图书丢失.借出图书.已还图书.逾期管理等 3.用户管理:借阅人管理.新增.删除,用户类型.班级/职务.借阅卡等 4.申请购书:用户在线提交购书申请.后台审核并

脚踏实地 志存高远-快意图书管理系统开发侧记之二

以网络技术为主的信息技术的飞速发展,使得图书管理信息化向着更加智能.快捷的方向不断变革.原有的一批图书管理软件的处理模式.软件架构.操作流程已不能满足网络时代所要求的双向互动.信息共享.高度智能的操作诉求.快意团队于2011年10月成立,并在调研数家企事业单位.大中专学校.中小学校图书管理业务流程及需求的基础上,研制了快意图书管理综合解决方案,开发了快意图书综合管理软件,并针对不同行业特点,进行了差异化开发,推出了快意图书管理企事业版本,中小学版本.大中专院校等多个版本,为不同行业图书管理提供了

图书管理系统

该图书馆里系统能实现基本的对图书信息的操作和借阅.归还功能. 一.主要内容: 本课程设计结合本学期所学C语言知识,数组.函数.结构体.指针.链表.文件读取操作等等,准备设计开发一个简单的图书管理系统.设计开发这个系统需要用到链表.文件读取操作.结构体.函数.指针.等C语言知识.本课程设计将会实现对图书信息的账号登录.注册账号.密码修改.密码查找.查找.输出.排序.备份.恢复.图书借阅和归还功能.本着简单.易用的设计原则,本课程设计在尽量优化界面在保证输入输出美观的同时又不失友好的交互界面. 本次

图书管理系统------软件设计图纸

图书管理系统------软件设计图纸 一.图书馆管理系统总体功能概述 图书馆管理系统功能图: 1.系统登录模块 : 本模块的功能点包括: (1) 判断用户名和密码是否相符: (2) 根据用户的权限类型,登录到系统的制定界面操作使用. 2.图书管理模块: 在本模块中图书馆工作人员可以对图书进行管理操作. 本模块的功能点包括: (1) 新书入库,将新进图书按其类型将图书的基本信息录入系统数据库: (2) 图书出库,某一部分图书会随着时间的增长及知识的更新而变得不再有收藏的价值,或者图书被损坏,这些图

图书管理系统测试计划说明书

图书管理系统测试计划说明书 一. 引言 1.1 编写目的 本测试计划文档作为指导此测试项目循序渐进的基础,帮助我们安排合适的资源和进度,避免可能的风险.本文档有助于实现以下目标: 1) 确定现有项目的信息和应测试的软件结构. 2) 列出推荐的测试需求 3) 推荐可采用的测试策略,并对这些策略加以详细说明 4) 确定所需的资源,并对测试的工作量进行估计. 5) 列出测试项目的可交付元素,包括用例以及测试报告等. 1.2 背景 随着人们知识层次的提高,阅读成为日常生活中不可缺少的一部分.而图书馆的存

s1考试 图书管理系统 结构体版

讲解目录 <保卫战:异形入侵>游戏开发    1 第一讲   游戏演示和资源的介绍    1 第二讲  "异形"怪物的实现    1 第三讲  "异形"怪物生命值的体现    9 第四讲  "异形"怪物死后处理    12 第五讲  玩家的制作    15 第六讲  玩家的行走控制(键盘)    16 第七讲  武器的切换(鼠标)     16 第八讲  摄像头的变化(鼠标)    19 第九讲  子弹预制体和特效的制作    20

Java图书管理系统(用Java常用集合实现)

图书管理系统 一.需求说明 1.功能:登录,注册,忘记密码,管理员管理,图书管理. 2.管理员管理:管理员的增删改查. 3.图书管理:图书的增删改查. 4.管理员属性包括:id,姓名,性别,年龄,家庭住址,手机号码,登录名称,登录密码,状态. 5.图书属性包括:id,图书名称,作者,单价,出版社,出版日期,类别. 6.技术:通过用集合来模拟数据库实现该系统,建议采用List集合实现,集合模拟数据库只是一个数据的临时保存. 二.功能说明 1.注册功能 描述:注册需要用户输入所有的必须的用户信息.

图书管理系统类图

一. 实验目的  使用面向对象的建模方法创建图书管理系统的类图. 二. 实验要求 画出该系统的类图 . 三. 实验器材 计算机一台. Office Visio 2010或Rational Rose工具软件. 四.  实验内容 创建类图,以及他们之间的关系 users:用户 record:记录 books:图书信息