Miscellaneous¶
Commonly used Codemirror options¶
mode
(str): The language of code. For complete list, see https://codemirror.net/mode/index.htmltheme
(str): The theme to style the editor with. For all available theme, see https://codemirror.net/demo/theme.htmllineNumbers
(bool): Whether to show line numbers to the left of the editor.indentUnit
(int): How many spaces a block (whatever that means in the edited language) should be indented. The default is 2.tabSize
(int): The width of a tab character. Defaults to 4.lineWrapping
(bool): Whether CodeMirror should scroll or wrap for long lines. Defaults to false (scroll).
For complete Codemirror options, please visit: https://codemirror.net/doc/manual.html#config
Nginx WebSocket Config Example¶
Assuming that the PyWebIO application is running at the localhost:5000
address, if you want to access your PyWebIO application via http://server_ip/some_path/tool
, a sample Nginx configuration is as follows:
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 80;
location /some_path/ {
alias /path/to/pywebio/static/dir/;
}
location /some_path/tool {
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_http_version 1.1;
proxy_set_header Host $host:$server_port;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://localhost:5000/;
}
}
The above configuration file hosts the static files of PyWebIO on the /some_path/
path, and reverse proxy /some_path/tool
to localhost:5000
.
The path of the static file of PyWebIO can be obtained with the command python3 -c "import pywebio; print(pywebio.STATIC_PATH)"
, you can also copy the static file to other directories:
cp -r `python3 -c "import pywebio; print(pywebio.STATIC_PATH)"` ~/web