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

上海做网站的公司排名/如何注册一个平台

上海做网站的公司排名,如何注册一个平台,手机网页制作与网站建设,网站制作怎么自己做主博客目录:《从零开始学习搭建量化平台笔记》 主项目计划需要搭建一个 Flask Redis Nginx环境 来制作一个可视化的网站,为了避免搭完就忘,因此就有了这个博客。 任务:搭建一个内网通信且只有由Nginx代理发放的网页端显示环境。…

主博客目录:《从零开始学习搭建量化平台笔记》

Website Server
主项目计划需要搭建一个 Flask + Redis + Nginx环境 来制作一个可视化的网站,为了避免搭完就忘,因此就有了这个博客。
任务:搭建一个内网通信且只有由Nginx代理发放的网页端显示环境。

  1. 默认已经安装好了 Docker 与 docker-compose。若未安装,可点击链接。
  2. 拉取 Flask, Redis, Nginx 所需镜像:
# 拉取 Flask 依赖镜像 Python
sudo docker pull python# 拉取 Redis
sudo docker pull redis# 拉取 Nginx
sudo docker pull nginx
  1. 生成Flask 初始化所需文件与文件夹:
mkdir code
touch requirements.txt
touch code/runserver.py
touch Dockerfile

requirements.txt 内写需要依赖的库:

# 环境依赖包
redis
flask
gevent# SQL 依赖包
flask-sqlalchemy
pymysql
cryptography

编写 Flask 运行脚本 code/runserver.py

"""
此脚本使用pywsgi代理
"""
import time
from gevent import pywsgi
from flask import Flaskapp = Flask(__name__)# 编写网页 主页与home
@app.route("/")
@app.route("/home")
def home():return "Hello World\n"# 运行模式为发布模式
server = pywsgi.WSGIServer(("0.0.0.0", 5000), app)
server.serve_forever()# 此为开发模式
# app.run(debug=True, host="0.0.0.0", port=5000)

编写 Flask 部署 Dockerfile 文件:

# 使用 Python 最新版本镜像作为基础镜像
FROM python# 设置工作目录
COPY "./code" "/code"
WORKDIR /code# 设置默认开始脚本
ENV FLASK_APP=runserver.py
ENV FLASK_RUN_HOST=0.0.0.0
EXPOSE 5000# 安装依赖 加速使用清华源
RUN python -m pip install --upgrade pip -i  https://pypi.tuna.tsinghua.edu.cn/simple/
RUN pip install -r requirements.txt -i  https://pypi.tuna.tsinghua.edu.cn/simple/# 默认运行命令
CMD ["flask", "run"]
  1. 生成 Nginx 初始化所需文件与文件夹:
# 创建文件夹
mkdir cert html logs www
# 赋予权限
chmod 777 -R cert html logs www
# 生成配置文件
touch nginx.conf

Nginx 配置文件 nginx.conf:

worker_processes  1;
events {worker_connections  1024;
}
http {include       /etc/nginx/mime.types;server {listen       80;server_name  localhost;location / {# 代理内网proxy_pass http://171.171.0.12:5000;proxy_redirect off;proxy_set_header Host $host:80;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;## 如果是静态网站这么写#root   /usr/share/nginx/html;#index  index.html index.htm;}}access_log /var/log/nginx/access.log;error_log /var/log/nginx/error.log;
}
  1. 创建网桥 bridge,内网桥接各个dockers,并指定网关
# 列出已有docker网络
sudo docker network ls
# 添加网桥 名称 my-bridge 网关 171.171.0.1 掩码 171.171.0.0/24
sudo docker network  create --driver bridge --subnet=171.171.0.0/24 --gateway 171.171.0.1 my-bridge
# 查看是否添加成功
sudo docker network ls
# 查看细节
sudo docker network inspect my-bridge
  1. 编写 docker-compose.yml, 需注意缩进。
version: '3'networks:my-bridge:external: trueservices:nginx:image: nginxcontainer_name: nginxports:- "80:80"volumes:- /Nginx/html:/usr/share/nginx/html- /Nginx/www:/var/www- /Nginx/logs:/var/log/nginx# 有可能会出现不能挂载,这个时候用手动拷贝配置文件就行- /Nginx/nginx.conf/:/etc/nginx/nginx.conf- /Nginx/cert:/etc/nginx/cert- /Nginx/conf.d:/etc/nginx/conf.dprivileged: trueenvironment:- NGINX_PORT=80- TZ=Asia/Shanghairestart: alwayslogging:driver: json-fileoptions:max-size: "20m" # 单个文件大小为20mmax-file: "2" # 最多2个文件networks:my-bridge:ipv4_address: 171.171.0.2redis:image: rediscontainer_name: redisvolumes:- redis-data:/dataenvironment:- TZ=Asia/Shanghairestart: alwayslogging:driver: json-fileoptions:max-size: "20m" # 单个文件大小为20mmax-file: "2" # 最多2个文件networks:my-bridge:ipv4_address: 171.171.0.3flask:build: /Flaskcontainer_name: flaskports:- "5000:5000"volumes:- /Flask/code:/code- /Flask/logs:/logsenvironment:- TZ=Asia/Shanghaidepends_on:- redisrestart: alwayslogging:driver: json-fileoptions:max-size: "20m" # 单个文件大小为20mmax-file: "2" # 最多2个文件networks:my-bridge:ipv4_address: 171.171.0.12volumes:redis-data:driver: local

至此开放服务器防护墙 80 端口,外网即可访问网页,并显示 Hello World

相关文章:

docker-compose 简单部署Flask + Redis + Nginx环境搭建网站

主博客目录:《从零开始学习搭建量化平台笔记》 主项目计划需要搭建一个 Flask Redis Nginx环境 来制作一个可视化的网站,为了避免搭完就忘,因此就有了这个博客。 任务:搭建一个内网通信且只有由Nginx代理发放的网页端显示环境。…...

debian和ubuntu

Debian和Ubuntu是两种流行的Linux发行版,它们之间有密切的关系,但也存在一些重要的区别。 关系: Ubuntu是基于Debian创建的。这意味着Ubuntu使用与Debian相同的APT包管理系统,并共享来自Debian库中的大量包和库。 区别&#xf…...

恒驰服务 | 华为云数据使能专家服务offering之数仓建设

恒驰大数据服务主要针对客户在进行智能数据迁移的过程中,存在业务停机、数据丢失、迁移周期紧张、运维成本高等问题,通过为客户提供迁移调研、方案设计、迁移实施、迁移验收等服务内容,支撑客户实现快速稳定上云,有效降低时间成本…...

AI与Prompt:解锁软件开发团队的魔法咒语,在复杂任务上生成正确率更高的代码

AI与Prompt:解锁软件开发团队的魔法咒语 写在最前面论文:基于ChatGPT的自协作代码生成将团队协作理论应用于代码生成的研究自协作框架原理1、DOL任务分配2、共享黑板协作3、Instance实例化 案例说明简单任务:基本操作,生成的结果1…...

深度学习02-数据集格式转换

背景: 通常搜集完数据图片后,我们会用labelimg进行图片标注,比较高版本的labelimg支持的标注格式有三种,PascalVOC、YOLO、CreateML,标注的时候可以根据自己的算法模型数据集需求选择相应的格式,当然&…...

【c++|opencv】一、基础操作---1.图像读取

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 有关c操作opencv记录 1. 正文 1.1 图像读取、显示、保存 // 读取、显示、保存图像#include <opencv2/opencv.hpp> #include <iostream>us…...

【2023.10.30练习】C语言-循环右移字符

计算机能力挑战初赛2020.19题 题目描述&#xff1a; 现要对一个由字符a-z和A-Z组成的字符串进行解密&#xff0c;已知加密规则是&#xff1a; 字符串中所有字符分别在大写或小写的字母表中被循环左移5位(fGh-->aBc)&#xff0c; 输入&#xff1a;一个加密过的字符串&#…...

C++ 自引用指针this(整理)

使用例子&#xff1a; #include <iostream> #include <Windows.h> using namespace std; class A { public:A(int x1){x x1;}void disp(){cout<<"this"<<this<<" when x"<<this->x<<endl;} private:int x;…...

pyzed.sl 突然 ImportError: DLL load failed while importing sl: 找不到指定的程序。 的解决

问题描述 >>> import pyzed.sl Traceback (most recent call last):File "<stdin>", line 1, in <module> ImportError: DLL load failed while importing sl: 找不到指定的程序。解决 1 按网上说的&#xff0c;将bin文件夹下所有dll复制到py…...

STM32 Cube配置RS485 Modbus

STM32CUBUMX配置RS485 modbus STM32&#xff08;从机&#xff09;亲测可用 STM32开发&#xff08;六&#xff09;STM32F103 通信 —— RS485 Modbus通信编程详解...

global,nonlocal

1.global 在局部&#xff0c;引入全局变量&#xff0c;使得局部变量可以修改全局变量 a 10 # a为全局变量def func():global a #把外面的全局变量引入到局部a 20 #创建局部变量&#xff0c;修改全局变量func() print(a) #20 2.nonlocal 在局部&#xff0c;引入外层的…...

HTML5教程

HTML5读书笔记 jack 2023.10.24 来源&#xff1a;HTML5 Canvas | 菜鸟教程 常识&#xff1a; HTML5 是下一代 HTML 标准。 HTML , HTML 4.01的上一个版本诞生于 1999 年 <!DOCTYPE html>用于声明下面代码是H5; 浏览器支持 你可以让一些较早的浏览器&#xff08;不支…...

vulnhub momentum 靶机复盘

环境配置 到学校了 原来的桥接配置要改 这里记录几个点备忘 1.virtualbox 桥接 未指定 重新安装驱动VBoxNetLwf.inf 2.配置完靶机启动失败 手动安装VBoxNetLwf.inf 不要用virtualbox自带的netlwfinstall 3.配置完nmap扫不到 rw init/bin/bash 进去看看网卡配置 信息收集…...

c++和java实现策略模式的差异

一、C和java的差异 实例化方式 c的对象有两种实例化方式&#xff0c;一种是局部变量中直接实例化。一种是new出来的。 MyClass myclass; //第一种方式 MyClass* myclassPtrnew MyClass(); //第二种方式java的对象构建&#xff0c;没有第一种方式&#xff0c;java的对象都…...

vim

简介 vim是一款多模式的文本编辑器&#xff0c;vim里面还有很多子命令&#xff0c;来进行代码的编写操作 常用模式图 命令模式 光标移动 shif $ 光标定义到当前行的最右侧结尾 shift ^ 光标定义到当前行的最左侧开头 shift g 光标定位到文本最末尾…...

AcWing93. 递归实现组合型枚举:输出从1~n中随机选出的m个整数

题目 从 1∼ n n n 这 n n n 个整数中随机选出 m m m 个&#xff0c;输出所有可能的选择方案。 输入格式 两个整数 n , m , n,m, n,m, 在同一行用空格隔开。 输出格式 按照从小到大的顺序输出所有方案&#xff0c;每行 1 个。 首先&#xff0c;同一行内的数升序排列&a…...

Java修仙传之Flink篇

大道三千:最近我修Flink 目前个人理解&#xff1a; 处理有界&#xff0c;无界流的工具 FLINK&#xff1a; FLINK定义&#xff1a; Flink特点 Flink分层API 流的定义 有界数据流&#xff08;批处理&#xff09;&#xff1a; 有界流&#xff1a;数据结束了&#xff0c;程序也…...

网络新闻发稿为何经久不衰?

有的老板可能看不到新闻营销的直接回报&#xff0c;一直不乐意在此方面投入&#xff0c;但是却看到竞争对手一直在搞新闻营销&#xff0c;也就安排个PR做做新闻公关。小马识途营销顾问观察&#xff0c;自互联网诞生以来&#xff0c;新闻营销一直是网络营销工作中的一个重点。 如…...

Java SimpleDateFormat 中英文时间格式化转换

SimpleDateFormat是一个以与语言环境有关的方式来格式化和解析日期的具体类。它允许进行格式化&#xff08;日期 -> 文本&#xff09;、解析&#xff08;文本 -> 日期&#xff09;和规范化。 SimpleDateFormat使得可以选择任何用户定义的日期-时间格式的模式。但是&…...

机器学习-基本知识

 任务类型 ◼ 有监督学习(Supervised Learning) 每个训练样本x有人为标注的目标t&#xff0c;学习的目标是发现x到t的映射&#xff0c;如分类、回归。 ◼ 无监督学习(Unsupervised Learning) 学习样本没有人为标注&#xff0c;学习的目的是发现数据x本身的分布规律&#xf…...

Xilinx 7 系列 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性

如果通过LVDS进行接口&#xff0c;可以按照以程图中的步骤操作&#xff0c;以确保满足正确使用LVDS的所有要求。 40191 - 7 系列 - 1.8V LVDS 和 2.5V LVDS 信号之间的 LVDS 兼容性 与LVDS兼容驱动器和接收器连接时&#xff0c;7系列LVDS和LVDS_25输入和输出应该不存在兼容性问…...

R语言在生态环境领域中的实践技术应用

R语言作为新兴的统计软件&#xff0c;以开源、自由、免费等特点风靡全球。生态环境领域研究内容广泛&#xff0c;数据常多样而复杂。利用R语言进行多元统计分析&#xff0c;从复杂的现象中发现规律、探索机制正是R的优势。为此&#xff0c;以鱼类、昆虫、水文、地形等多样化的生…...

ChineseChess.2023.10.31.01

中国象棋残局模拟器&#xff1a;黑双卒压禁区 中国象棋残局模拟器ChineseChess.2023.10.31.01...

数据库扩展语句和约束方式以及用户管理

数据库扩展语句和约束方式以及用户管理 create TABLE if not exists ky32 ( id int(4) zerofill primary key auto_increment, name varchar(10) not null, cradid int(18) not null unique key, hobby varchar (50) ); auto_increment&#xff1a;表示该字段可以自增长&…...

JMM 简单理解

JMM 简单理解 1 Java 内存模型 Java 内存模型&#xff08;Java Memory Model&#xff0c;JMM&#xff09;&#xff0c;主要为了屏蔽各种硬件和操作系统的内存差异&#xff0c;以实现让 Java 程序在各种平台下都能达到一致的内存访问效果&#xff0c;而设计的 2 工作内存与主内…...

微软Azure文本转音频,保存成MP3文件【代码python3】

标签&#xff1a; 文本转音频并保存mp3文件&#xff1b; 微软Azure&#xff1b; 微软Azure可以将文本转音频&#xff0c;并保存mp3文件&#xff0c;直接上代码 代码格式&#xff1a;python 3 import os import azure.cognitiveservices.speech as speechsdk# This example re…...

基于单片机的超声波探伤仪设计

摘要 超声波探伤仪是目前工业制造和现代化检测的重要途径之一&#xff0c;广泛的应用在质量检测和产品检测中&#xff0c;通过使用其产品能够有效地降低产品次品的风险。尽管随着电子技术的发展&#xff0c; 国内出现了一些数字化的超声检测仪器&#xff0c;但其数据处理及扩展…...

idea的设置

1.设置搜索encoding,所有编码都给换为utf-8 安装插件 eval-reset插件 https://www.yuque.com/huanlema-pjnah/okuh3c/lvaoxt#m1pdA 设置活动模板,idea有两种方式集成tomcat,一种是右上角config配置本地tomcat,一种是插件,如果使用插件集成,则在maven,pom.xml里面加上tomcat…...

高等数学啃书汇总重难点(八)向量代数与空间解析几何

持续更新&#xff0c;高数下第一章&#xff0c;整体来说比较简单&#xff0c;但是需要牢记公式&#xff0c;切莫掉以轻心~ 一.向量平行的充要条件 二.向量坐标的线性运算 三.向量的几何性质 四.数量积 五.向量积 六.混合积 七.曲面方程 八.空间曲线方程 九.平面的点法式方程 十…...

C#开发DLL,CAPL调用(CAPL>> .NET DLL)

文章目录 展示说明新建类库工程C# 代码生成dllCAPL脚本调用dll,输出结果展示 ret为dll里函数返回的值。 说明 新建类库工程 在visual studio中建立。 C# 代码 using...