RoderickChan commited on
Commit
9564a5e
1 Parent(s): fda48fd

在README中添加远程部署的指导方案

Browse files
Files changed (1) hide show
  1. README.md +60 -0
README.md CHANGED
@@ -181,6 +181,66 @@ proxies = { "http": ip_proxy + ":51837", "https": ip_proxy + ":51837", } # 请
181
  ```
182
  在启动main.py后,可以在windows浏览器中访问服务。至此测试、使用与上面其他方法无异。
183
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
184
 
185
  ## 自定义新的便捷按钮(学术快捷键自定义)
186
  打开functional.py,添加条目如下,然后重启程序即可。(如果按钮已经添加成功并可见,那么前缀、后缀都支持热修改,无需重启程序即可生效。)
 
181
  ```
182
  在启动main.py后,可以在windows浏览器中访问服务。至此测试、使用与上面其他方法无异。
183
 
184
+ ## 远程部署
185
+ 如果您需要将本项目部署到公网服务器,请设置好`PORT`(固定端口)和`AUTHENTICATION`(避免您的`APIKEY`被滥用),并将`main.py`的最后一句话修改为:
186
+ ```python
187
+ demo.queue(concurrency_count=CONCURRENT_COUNT).launch(server_name="0.0.0.0", share=False, server_port=PORT, auth=AUTHENTICATION) # 取消share
188
+ ```
189
+
190
+ 如果您打算使用域名,强烈建议用`nginx`配置反向代理。需要往配置文件增加的内容如下:
191
+ ```nginx
192
+ http {
193
+ # 其他配置
194
+ #......
195
+ # 配置websocket
196
+ map $http_upgrade $connection_upgrade {
197
+ default upgrade;
198
+ '' close;
199
+ }
200
+ upstream my_chataca {
201
+ # 这里配置负载均衡策略
202
+ ip_hash; # 如果使用负载均衡,建议使用ip_hash
203
+ # 假设本项目运行的端口为8080
204
+ server 127.0.0.1:8080 max_fails=3 fail_timeout=10;
205
+ }
206
+
207
+ server {
208
+ listen 80;
209
+ listen [::]:80;
210
+ server_name yourdomain.com;
211
+ return 301 https://yourdomain.com$request_uri;# 强制使用https
212
+ }
213
+
214
+ server {
215
+ listen 443 ssl http2;
216
+ listen [::]:443 ssl http2;
217
+ server_name yourdomain.com;
218
+ ssl_protocols TLSv1.2 TLSv1.3;
219
+ ssl_prefer_server_ciphers on;
220
+ ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
221
+ ssl_session_tickets off;
222
+ ssl_session_timeout 1d;
223
+ ssl_session_cache shared:SSL:10m;
224
+ add_header Strict-Transport-Security
225
+ "max-age=31536000; includeSubDomains"
226
+ always;
227
+ ssl_certificate xxxxxx.pem; # 证书文件
228
+ ssl_certificate_key xxxxxx.key; # 证书文件
229
+
230
+ location / {
231
+ proxy_pass http://my_chataca;
232
+ proxy_set_header Host $host;
233
+ proxy_set_header X-Real-IP $remote_addr;
234
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
235
+ proxy_set_header X-Forwarded-Proto https;
236
+ proxy_set_header Upgrade $http_upgrade;
237
+ proxy_set_header Connection $connection_upgrade;
238
+ }
239
+ }
240
+
241
+ }
242
+ ```
243
+
244
 
245
  ## 自定义新的便捷按钮(学术快捷键自定义)
246
  打开functional.py,添加条目如下,然后重启程序即可。(如果按钮已经添加成功并可见,那么前缀、后缀都支持热修改,无需重启程序即可生效。)