V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  yinmin  ›  全部回复第 104 页 / 共 107 页
回复总数  2138
1 ... 96  97  98  99  100  101  102  103  104  105 ... 107  
.NET Core 项目,在 VS 菜单里选择“发布打包内容”,然后“部署模式”选择“独立”,选中“生成单个文件”和“裁剪未使用的代码”,可以生成独立运行的程序,不再需要.net core 运行库。可以用于生产。
2023-03-24 18:24:36 +08:00
回复了 evemoo 创建的主题 Python windows 下多线程执行 subporcess.Popen(),但子进程无法杀死
proc.terminate() 改成 proc.kill() 试试。linux 一定能杀掉,windows 不知道是否可行。
2023-03-24 18:17:20 +08:00
回复了 awen233333 创建的主题 Python 请教一个问题, poetry 项目怎样部署到内网 windows 服务器上
hyper-v 安装 linux 。这是生产环境可用的方案。

windows 的 wsl2 和 docker desktop 都是为测试环境设计的,hyper-v 是为生产环境设计的。
2023-03-24 13:04:55 +08:00
回复了 wganbleuthall 创建的主题 Visual Studio Code VScode, Python 如何多线程 debug 代码
如果必须是子进程,我是这样调试的。
1. 把子进程的核心代码封装成 class ,通过代码直接引用的方式,把子进程的 class 加到主进程项目里直接调用
2. 调试去 bug
3. 将 class 从主进程移除,改回到子进程,加入一些 print
4. 主进程通过 Popen 调用子进程,看一下 print 出来的内容是否 OK
2023-03-24 12:53:02 +08:00
回复了 wganbleuthall 创建的主题 Visual Studio Code VScode, Python 如何多线程 debug 代码
@wganbleuthall 如果子进程也是 python 代码,建议改成子线程 ThreadPoolExecutor 。ThreadPoolExecutor 可以配置一个最大线程数,例如:你设置最大线程数是 5 ,你可以一次性把 100 个任务都仍到 ThreadPoolExecutor 里运行,ThreadPoolExecutor 会先同时运行前 5 个,然后结束 1 个再运行队列的下一个,直到 100 个任务都运行完毕。

ThreadPoolExecutor 里运行的代码是支持 debug 的。
2023-03-24 12:25:43 +08:00
回复了 yinmin 创建的主题 Bing bing chat 报错 your network settings are preventing access to this feature
@Zheming 能不能大致讲一下如何将流量转到 cloudflare warp?
2023-03-24 11:42:55 +08:00
回复了 wenbingkun 创建的主题 Bing 使用 new bing 提示“你的网络设置阻止访问此功能”
@bigshawn 是同一个 ip 地址吗?
2023-03-24 00:23:46 +08:00
回复了 wganbleuthall 创建的主题 Visual Studio Code VScode, Python 如何多线程 debug 代码
多线程是可以设置断点的。但是,你这是多进程,不是多线程。
2023-03-23 14:46:51 +08:00
回复了 itechnology 创建的主题 程序员 你们都用的什么代码托管平台呀?求推荐
自建 git 服务器。小团队可以直接使用 linux 内置的 git 功能,客户端使用 SSH 协议访问 git 服务器。如果想进一步提升系统安全性,可以把 git server 部署到 Docker 里。
推荐:
Windows + Hyper-V + ubuntu

使用 docker ,推荐:
弃用 docker desktop ,改用 Hyper-V + ubuntu/debian + docker ce + portainer
2023-03-23 14:27:31 +08:00
回复了 wednesdayco 创建的主题 程序员 mini 主机装啥系统比较舒适(远程开发用)
我试了一圈,最后还是用 windows server 2022+hyper-V 方案。原因:

1. 虚拟机内存支持动态分配。例如:你可以给每个虚拟机最大 32GB 内存,每个虚拟机实际占用物理内存是根据自己的程序运行情况的。虚拟机里关闭某个程序后,内存会自动还给主机给其他虚拟机用。虚拟机内存动态分配支持 windows ,也支持 ubuntu 和 debian 。

2. 硬盘“删除重复数据”功能。例如:1 个 Win 虚拟机占硬盘 50G ,5 个 Win 虚拟机合计占硬盘也就 60-70G 左右。虚拟机支持实时完整备份,删重后备份数据几乎不占硬盘空间。(虚拟机快照是给测试环境用的,生产环境备份一般都不用快照,而是实时完整备份)

3. 硬件驱动程序中,windows 版本的驱动程序通常是最好的。因此硬件兼容性好,能发挥出硬件的最大性能。

4. 微软 hyper-v 对 ubuntu 和 debian 最新版本做了特别优化,运行效果不错。

Windows Server+Hyper-V 的“内存动态分配”和“硬盘删除重复数据”秒杀其他 vm 软件,对 linux 支持也好,容易维护,值得推荐。

对于 vscode+remote 开发,建议是 Windows Server + Hyper-V + Debian/ubuntu
对于 docker ,建议 Wiindows Server + Hyper-V + Debian/ubuntu + Docker CE+portainer
生成.ssh 目录,可以直接 mkdir ~/.ssh ,不一定需要使用 ssh 。
@icaolei 服务在容器里,有 3 种配置方法:
(1) bridge 网络,-p 127.0.0.1:8000:8000 ,容器内的服务绑定到 0.0.0.0:8000, docker 映射到主机 127.0.0.1:8000 ,nginx 直接 proxy 到 127.0.0.1:8000
(2) host 网络,不设-p 参数,容器内服务绑定到 127.0.0.1:8000 ,nginx 直接 proxy 到 127.0.0.1:8000
(3) 建立 docker 虚拟内网,容器使用虚拟内网固定 ip 地址,不设-p 参数,容器内服务绑定到内网 ip:8000 ,nginx 直接 proxy 到内网 ip:8000

方式一:比较常见,但在超大流量下会有性能问题
方式二:高性能,适合超大流量使用
方式三:如果部署多个容器联动(程序容器、数据库容器、redis 容器等),所有容器都使用虚拟内网固定 ip ,都不设-p 参数,部署方便且安全。
正解是:监听 44301 网站配置的问题,加下面一行即可解决问题。
absolute_redirect off;

另外,你的 nginx 配置还有 2 个优化的地方。

1.网站程序无法获得浏览器的 IP 地址,解决的方法是启用 proxy_protocol 协议。调整如下:

server {
listen 443 reuseport;
listen [::]:443 reuseport;
proxy_pass $name;
proxy_protocol on;
ssl_preread on;
}

然后监听 44301 的 listen 改成:
listen 44301 ssl http2 proxy_protocol;

2.建议去掉 map 的 default 行,提升 tls 安全。客户端必须提供正确域名才会建立 tls 连接,能抵御网络盲扫后攻击。
2023-03-21 18:22:45 +08:00
回复了 Cat7373 创建的主题 Kindle kindle 中国运营就要结束了,有什么好办法转移电子书么?
“安娜的档案” ;-)
2023-03-21 18:03:28 +08:00
回复了 unpay 创建的主题 VPS 大佬们,快被甲骨文整崩溃了,你们都是怎么成功的
用企业邮箱试试
@Oilybear 不需要 gevent
@Oilybear Gunicorn+gthread 更合适。
2023-03-21 17:30:27 +08:00
回复了 fyooo 创建的主题 程序员 小团队怎么做自动化部署
写一个 sh 文件,使用 rsync+ssh 同步到各个服务器,例如:
run.sh =================
rsync -azvP /home/code [email protected]:/home/code
ssh [email protected] docker restart mycode
rsync -azvP /home/code [email protected]:/home/code
ssh [email protected] docker restart mycode
rsync -azvP /home/code [email protected]:/home/code
ssh [email protected] docker restart mycode

运行 sh 文件即可。
使用 Gunicorn + Gevent ,如果长时间无 io 的密集计算,需要定期运行 gevent.sleep(),把控制权交回 gevent 的事件循环,允许其他协程运行。同时,启用多个 workers 来提升并发量。
1 ... 96  97  98  99  100  101  102  103  104  105 ... 107  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5441 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 43ms · UTC 03:41 · PVG 11:41 · LAX 19:41 · JFK 22:41
Developed with CodeLauncher
♥ Do have faith in what you're doing.