当前位置: 首页 > news >正文

深圳企业网站建设开发费用私人做网站

深圳企业网站建设开发费用,私人做网站,wordpress去掉底部版权,利用淘宝联盟做网站赚取佣金文章目录1. 环境准备1.1 django1.2 Vue1.3 服务器1.4 架构2. 代码准备2.1 django代码2.2 vue代码2.3 deploy部署代码3. 服务部署3.1 代码上传3.2 服务部署3.3 数据导入4. 访问5. 爬坑记录1. 环境准备 1.1 django 部署方案 使用 Gunicorn 托管 Django使用 uWSGI 托管 Django 1…

文章目录

  • 1. 环境准备
    • 1.1 django
    • 1.2 Vue
    • 1.3 服务器
    • 1.4 架构
  • 2. 代码准备
    • 2.1 django代码
    • 2.2 vue代码
    • 2.3 deploy部署代码
  • 3. 服务部署
    • 3.1 代码上传
    • 3.2 服务部署
    • 3.3 数据导入
  • 4. 访问
  • 5. 爬坑记录

1. 环境准备

1.1 django

  • 部署方案
  • 使用 Gunicorn 托管 Django
  • 使用 uWSGI 托管 Django

1.2 Vue

  • vue项目的特点
  • 单页面应用
  • 前后端分离
  • 部署方案
  • nginx:作为静态资源服务器
  • nginx:作为反响代理服务器,代理django请求

1.3 服务器

  • 使用centos服务器运行前端或后端应用

1.4 架构

  • Centos + mysql + gunicorn + nginx
  • docker-compose 容器化部署

2. 代码准备

2.1 django代码

  • 关闭dubug并收集静态资源
  • 前后端分离部署后,django DRF提供的swagger接口页面静态资源将无法访问,需要收集后合并到前端静态资源
# settings.py# 设置DEBUG=False后,django server停止静态服务,此时就需要对应的服务器
DEBUG=False# 配置静态文件根目录
STATIC_ROOT = os.path.join(BASE_DIR, 'frontend', 'static')
# 命令行收集django静态文件,部署后供后端接口文档等使用
python3 manage.py collectstatic# 查看
cd frontend &&  tree -L 2frontend
└── static├── admin├── drf-yasg└── rest_framework
# 仅保留rest_framework即可
  • 工程目录
.
├── apps               --子应用目录
├── djangoDemo         --项目配置目录
├── frontend          --静态文件目录
├── utils              --项目工具目录
├── manage.py          --项目入口目录
├── deploy             --部署脚本目录
├── Readme.md
├── requirements.txt
└── logs

2.2 vue代码

  • 修改后端接口请求对应的host
# src/api/api.js# 前后端容器在同一台服务器,所以使用127.0.0.1
let host = 'http://127.0.0.1:8000';
  • 修改public/index.html中配置django服务对应的host
<!--public/index.html-->
<!DOCTYPE html>
<html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no"><!--修改此处配置--><meta http-equiv="Content-Security-Policy"content="img-src 'self' data: ;style-src 'self' 'unsafe-inline' at.alicdn.com fonts.googleapis.com;font-src  'self' 'unsafe-inline' at.alicdn.com fonts.gstatic.com data: ;default-src 'self' 127.0.0.1:* localhost:* 47.96.67.53:* ;"><link rel="stylesheet" href="//at.alicdn.com/t/font_830376_qzecyukz0s.css"><title>ApiTestPaltform</title></head><body><noscript><strong>We're sorry but vms doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div><!-- built files will be auto injected --></body>
</html>
  • 前端打包
# 打包
npm run build# 将dist目录下文件拷贝到deploy/nginx_docker下
cp -r dist  ../djangoDemo/deploy/nginx_docker/
# 将后端代码拷贝到deploy/nginx_docker下
cp -r frontend/static/rest_framework deploy/nginx_docker/dist/static/rest_framework 
# 查看
cd github/djangoDemo/deploy/nginx_docker/dist/ &&  tree -L 2.
├── index.html
└── static├── css├── fonts├── img├── js└── rest_framework

2.3 deploy部署代码

  • 代码拷贝到deploy
cp -r ./{apps,djangoDemo,utils,manage.py,requirements.txt,logs}  ./deploy/django_app_docker/djangoDemo/cd  deploy/django_app_docker/djangoDemo/ && \find ./ -name '__pycache__'| xargs rm -rf && \cd -
  • deploy目录
# deploy/.
├── datas                          --- 存放*.sql文件
├── django_app_docker
│   ├── djangoDemo                 --- 后端代码目录
│   ├── Dockerfile
│   ├── docker-entrypoint.sh       --- 数据库初始化和迁移
│   └── gunicorn_config.py         --- 应用服务器配置
├── docker-compose.yml        
├── import_test_data.sh            --- 数据库导入
├── nginx_docker              
│   ├── Dockerfile
│   ├── configs                    --- nginx配置目录
│   └── dist                       --- 静态文件目录
└── start.sh                       --- 项目部署脚本

3. 服务部署

3.1 代码上传

  • 代码上传到阿里云
# 打包
tar -zcvf deploy.tar.gz ./deploy# 上传
scp -r deploy.tar.gz root@47.96.67.53:/root/dj/
  • 登陆服务器部署
# 解压
cd /root/dj/
tar -zxvf deploy.tar.gz

3.2 服务部署

cd deploy 
docker-compose up -d --build# 或者使用脚本
sh start.sh

3.3 数据导入

bash import_test_data.sh 

4. 访问

  • 阿里云端口开放
  • 阿里云控制台-防火墙开放端口8080,此时应该可以访问

5. 爬坑记录

  1. 使用python:3.8-alpine镜像部署django,报错ImportError: can not import DistributionNotFound from pkg_resources,未找到原因和解决办法。替换使用centos7-python3.8打包的镜像;
  2. 使用docker-compose二次部署时,建议清理之前使用的volume,否则会被之前的错误元数据影响;
    # 删除容器和镜像
    docker stop db django web
    docker rm db django web
    # 删除镜像
    docker rmi $(docker images| grep -i 'v1')# 删除未使用的数据卷
    docker volume prune# 删除网络
    docker network prune
    
  3. docker-compose命令部署过程中,使用docker logs django命令查看,此时会有各种报错,一定要淡定,等2分钟再看。各个容器准备、连接都是需要时间的。
  4. 数据库迁移脚本中,python manage.py makemigrations命令提示No changes,没找到原因。解决办法:python manage.py makemigrations appname,即在makemigration命令后加上appname.
http://www.lbrq.cn/news/2761615.html

相关文章:

  • 青海省住房和城乡建设厅的官方网站企业建站免费模板
  • 网站建设+临沂怎么在百度上做广告
  • 深圳西乡 网站建设品牌整合营销
  • 视频类网站建设的成果深圳搜索引擎优化推广便宜
  • 网站改版中百度认证是什么
  • 个人网站限制网址缩短
  • wordpress php那个版本号seo排名的影响因素有哪些
  • 万江营销型网站建设站长工具网站备案查询
  • 云南域名注册网站建设网络宣传渠道有哪些
  • 网站主办者冲突 请核实后再次报备关键词百度网盘
  • 站长之家查询的网址网络seo优化推广
  • 如何给一个公司做网站网络营销有什么方式
  • 连云港网站建设多少钱合肥百度快速排名优化
  • 珠海微网站制作怎么做个人网页
  • 建网站需要服务器吗免费域名注册平台有哪些
  • 深圳网站制作的网站推广方案策划
  • 知名的网站制作公司需要多少钱成全视频免费观看在线看
  • 福州网站制作2022双11各大电商平台销售数据
  • 网站建设期间工作福州seo优化排名推广
  • 用xp做网站是否先搭建iis网络运营师
  • 2023年山西有疫情吗网站标题优化排名
  • 给公司做一个网站流程免费推广产品的平台
  • 陕西西乡网站建设网页代码模板
  • 网站的电子地图怎么做推广平台排名前十名
  • c 网站开发 环境配置大白兔网络营销策划书
  • 做网站还是做淘宝如何联系百度人工客服电话
  • 无锡市住房建设局网站网上企业推广
  • 西安北郊网站开发网站推广包括
  • 国外个人网站模板站长工具查询域名
  • 做知乎网站的图片2023最火的十大新闻
  • 网络基础——协议认识
  • 十年回望:Vue 与 React 的设计哲学、演进轨迹与生态博弈
  • 44.【.NET8 实战--孢子记账--从单体到微服务--转向微服务】--扩展功能--集成网关--网关集成认证(三)
  • 【C++】Windows 下 TCP接口超详介绍,如何实现一个TCP服务端和客户端
  • huggingface TRL中是怎么获取参考模型的输出的
  • leetcodehot100 矩阵置零