欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

python部署服務(wù)器如何不讓人查看源代碼

錢浩然2年前13瀏覽0評論

python部署服務(wù)器如何不讓人查看源代碼?

可以考慮使用pymod工具,使用pymod pack 將模塊加密打包,發(fā)布的時候一個模塊就一個文件。

先睹為快,看看一個項目發(fā)布的時候,只有幾個文件,

main.py 項目程序入口

setting.py 項目配置

apps 項目模塊

plusins 項目插件目錄

創(chuàng)建項目 pymod create demo1

cd demo1

創(chuàng)建模塊 pymod add mod1

啟動pycharm 開始編寫功能模塊

一個模塊默認(rèn)由三個文件組成

__init__.py 、 handlers.py 、param_schemas.py

業(yè)務(wù)邏輯主要在handlers.py中編寫

__init__.py

from pymod.blueprint import Blueprint api = Blueprint("/mod1") from .handlers import *

param_schemas.py

schema_sfz = { "type": "object", "required": ["sfz", "nl"], "properties": { "sfz": { "type": "string", "minLength": 18, "maxLength": 18, "description": "身份證明號碼" }, "nl": { "type": "integer", "minimum": 0, "maximum": 150, "description": "年齡" } } }

handlers.py

from . import api from pymod.ext import RequestHandler, params_validate,TrueResponse,FalseResponse from .param_schemas import schema_sfz from pymod.plugins import sfz_check @api.add_route('/hello') class Hello(RequestHandler): def get(self): self.write('Hello World') @params_validate(schema_sfz) def post(self): sfz = self.get_json_arg("sfz") nl =self.get_json_arg("nl") # self.write(TrueResponse(sfz=sfz, nl=nl)) if sfz_check.check_sfzmhm(sfz): self.write(TrueResponse(hint="身份證明號碼驗證通過")) else: self.write(FalseResponse(hint="身份證明號碼驗證失敗"))

三、項目部署

程序調(diào)試 修改setting.py

# 開發(fā)模式下 運(yùn)行的模塊名稱必須填寫

modules = ["mod1"] modules_config ={ "mod1": { "deny_ip": "", "allow_ip": "*" } }

啟動程序 python main.py

調(diào)試沒有問題,進(jìn)入發(fā)布模式

在項目目錄下

pymod pack mod1

在target目錄下生成mod1.mod文件,將其復(fù)制到apps目錄中

修改setting.py

# 開發(fā)模式下 運(yùn)行的模塊名稱必須填寫

modules = []

再次運(yùn)行 python main.py 測試

一切OK,系統(tǒng)就可以發(fā)布了。