多人博客开发项目-部署

一 后端代码部署

1 django打包

1 setup.py文件创建

详细内容如下

#!/usr/bin/poython3.6
#conding:utf-8
from  distutils.core import setup
import  glob

setup(name=‘blog‘,
      version=‘1.0‘,
      description=‘demo blog‘,
      author=‘zhang‘,
      author_email=‘[email protected]‘,
      url=‘https://www.zhang.com‘,
      packages=[‘blog‘,‘post‘,‘user‘], # 打包py文件
      py_modules=[‘manage‘], #可以不打包manage.py文件
      data_files=glob.glob(‘templates/*.html‘)  + [‘requirements‘,‘manage.py‘],  # 打包其他文件
     )

2 应用程序根目录下打包如下

1 导出相关依赖安装配置

pip freeze > requirements  # 此处的文件名需要和上面的需要打包中的其他文件的文件名相同

查看结果如下

2 打包

python setup.py sdist  --formats=gztar   #此处表明打包文件为tar.gz 

如下

2 部署

1 创建目录和相关虚拟环境并进行处理

 mkdir blog01
 cd blog01/
 pyenv virtualenv 3.5.3  blog01
 pyenv local blog01 

结果如下

2 安装相关依赖和部署

1 安装相关依赖

yum -y install mysql-devel  python-devel

2 部署

复制之前的包至此目录下并解压重命名

安装相关项目依赖

cd blog/
 pip install --upgrade pip  # 升级安装包
pip install -r  requirements 

查看安装结果

启动服务

python  manage.py  runserver 0.0.0.0:80  

结果如下

测试如下

二 UWSGI

1 WSGI概述

web server gateway interface,是python中定义的Web Server 与应用程序的接口定义

应用程序有WSGI的django负责,而WSGI的server 可通过UWSGI 来负责

2 UWSGI

UWSGI 是一个C语言项目,提供一个WEB服务器,其支持WSGI协议,可以和python的WSGI 应用程序通信。


官方文档

https://uwsgi-docs.readthedocs.io/en/latest/

UWSGI 可以直接启动HTTP服务,接受HTTP请求。并调用django应用

3 安装和配置

1 安装

 pip install uwsgi

查看安装是否成功

2 uWSGI+ Django项目部署

根目录如下

在django项目根目录中运行如下代码

uwsgi  --http :8000 --wsgi-file  blog/wsgi.py --stats :8001

测试如下

上述表明运行正常

三 nginx 相关配置

1 HTTP nginx反向代理配置

基本环境如下

相关配置如下

修改配置文件/etc/nginx/conf.d/default.conf 添加如下内容

    location ^~  /api/   {
        rewrite  ^/api(/.*)  $1  break;  #重写URL,去掉前面的api,$1表示去掉api后对应的url
        proxy_pass  http://192.168.1.200:8000;
    }

生效配置如下

systemctl reload nginx 

测试如下

2 部署UWSGI

目前的nginx和UWSGI 直接使用的是HTTP 通信,效率低下,需修改为uwsgi 通信

1 创建blog.ini 文件

1 本次项目的根目录是 /root/blog01/blog,因此blog.ini放入此目录下 ,相关内容如下

[uwsgi]
socket=127.0.0.1:9000
chdir=/root/blog01/blog
wsgi-file=blog/wsgi.py

启动服务

 uwsgi blog.ini 

如下

2 修改nginx反向代理如下

    location ^~  /api/   {
        rewrite  ^/api(/.*)  $1  break;
        #proxy_pass  http://192.168.1.200:8000;
        include  uwsgi_params;
        uwsgi_pass  127.0.0.1:9000;
    }

生效配置并重载

systemctl reload nginx 

测试如下

四 前端项目打包

1 react项目打包

1 rimraf 安装

其作用是递归删除文件,相当于 rm -rf

npm install  rimraf  --save-dev

2 package.json 配置

在package.json中替换,结果如下

上述的build的作用是在调用build时执行的是build对应的命令


修改 webpack.config.prod.js 如下

3 构建

npm  run build

打包上传

修改nginx配置如下

重载配置如下

访问如下

博客平台基本部署完成

原文地址:https://blog.51cto.com/11233559/2446373

时间: 2024-11-06 13:45:03

多人博客开发项目-部署的相关文章

多人博客开发项目-前端

一 开发环境设置 1 安装包环境 项目包如下链接:https://pan.baidu.com/s/1C-ZY9rWU-8ZugE4EwVveWw提取码:744p 相关react介绍链接如下 https://blog.51cto.com/11233559/2443713 解压并修改目录为blog 没有特殊说明,js 文件均放置在src目录中 2 修改相关信息 1 修改项目信息 2 修改反代和本地监听端口 本环境后端服务ip地址为192.168.1.200,后端python监听端口为80. 3 安装

博客网站项目部署问题汇总

最近在使用koa2+mysql+nodejs+weback+vue+redis技术搭建了一个博客网站,奈何遇到了种种问题,现在一一总结一番: 问题1. 使用 ecosystem.json 配置文件部署项目, "post-deploy" : "npm install && pm2 startOrRestart ecosystem.json --env production", //项目发布到服务器上执行的命令 发现按照教程或者网络给出的配置文件,无法访

Django学习---多人博客项目(2)

Django学习---多人博客项目(2) ? 上一部分内容完成了博客项目的搭建,以及博客标题和博客内容的展示,熟悉了Django的使用,下面,接着实现用户管理部分功能. 一.自定义模板和静态文件的位置 (1)自定义模板的位置 BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) # 当前文件路径的上两级文件路径--即是根目录 TEMPLATES = [ { 'BACKEND': 'django.templat

IT牛人博客

IT牛人博客,参见:http://blog.csdn.net/freebird_lb/article/details/8210276 团队技术博客 淘宝UED淘宝用户体验团队 淘宝核心系统淘宝核心系统团队博客 阿里巴巴数据库团队专注数据库管理开发运维 淘宝通用产品专注JAVA技术 淘宝QA致力于做测试的行业标准 淘宝搜索技术关注技术 关注搜索 量子恒道专注大数据统计 百度搜索研发关注搜索相关技术 EMC中国研究院关注于云计算和大数据 贰号楼肆层阿里巴巴平台技术部 阿里数据平台阿里巴巴数据平台 百

2015年12月12 Node.js实战(一)使用Express+MongoDB搭建多人博客

序,Node是基于V8引擎的服务器端脚本语言. 基础准备 Node.js: Express:本文用的是3.21.2版本,目前最新版本为4.13.3,Express4和Express3还是有较大区别,可以去官网查看wiki:https://github.com/strongloop/express MongoDB: 一.使用Express搭建一个站点 1 快速开始安装Express Express是Node上最流行的Web开发框架,通过它可以快速开发一个Web应用.全局模式下输入命令: $ npm

CSDN 牛人博客索引

安卓有关 (不分排名) 1.讲解安卓系统源码    http://blog.csdn.net/yangwen123 1.1 安卓源码   http://blog.csdn.net/wdaming1986 2.安卓运用和java  http://blog.csdn.net/brave2211/article/list/1 3.安卓开源项目,云 http://blog.csdn.net/forlong401?viewmode=contents 4. 安卓各种动画效果  http://blog.csd

Django博客开发-数据建模与样式设定

开发流程介绍 之前Django的学习过程当中已经把基本Django开发学完了,现在以Django 的博客项目完成一遍课程的回顾和总结.同时来一次完整开发的Django体验. 一个产品从研究到编码我们要经历以下的过程: 博客开发需求分析与建模 需求分析 本次项目完成的是一个博客的项目,博客主要目的是为了分享个人的技术,进行技术积累. 主要是发布文章日志.但是也需要有评论和互动.需要完成以下功能点: 1.文章的发布.展示.修改.删除. 2.文章评论 3.读者互动 4.图片管理 概要设计 我们对上面的

MongoDB + express + node + bootstrap 搭建多人博客

这篇博客讲述如何搭建一个多人博客,需要一定的基础知识,用于思路整理和备忘. 第一步: 新建文件夹 blog ,结构如下: bin --- 可执行二进制文件,最终的启动接口. models --- 存储与数据.操作数据相关文件. public --- 存储静态文件. routes --- 存储路由文件. views --- 存储视图文件. app.js --- 程序主文件. package.json --- 程序相关信息. 第二步: 安装依赖模块 cnpm install express expr

牛人博客

http://blog.csdn.net/zouxy09?viewmode=contents 机器视觉,深度学习牛人博客... http://blog.csdn.net/abcjennifer/article/details/7826917