Flask: Difference between revisions
Jump to navigation
Jump to search
Line 84: | Line 84: | ||
https://cdn.chorke.org/rest | https://cdn.chorke.org/rest | ||
== | ==Knowledge== | ||
{| | |||
| valign="top" | | |||
<source lang="bash"> | <source lang="bash"> | ||
a2enmod wsgi | python3 -m venv ~/.venv/flask --prompt="Flask" | ||
# source ~/.venv/flask/bin/activate | |||
# (e)flask $ | |||
</source> | |||
| valign="top" | | |||
<source lang="bash"> | |||
python3 -m venv ~/.venv/flask --prompt="Flask" | |||
# source ~/.venv/flask/bin/activate | |||
# (e)flask $ | |||
</source> | |||
| valign="top" | | |||
<source lang="PowerShell"> | |||
python -m venv ~\.venv\flask --prompt="Flask" | |||
# ~\.venv\flask\Scripts\activate | |||
# (e)flask PS> | |||
</source> | |||
|- | |||
| colspan="3" | | |||
---- | |||
|- | |||
| valign="top" | | |||
<source lang="bash"> | |||
a2enmod wsgi | |||
a2dismod wsgi | a2dismod wsgi | ||
</source> | |||
| valign="top" | | |||
<source lang="bash"> | |||
apache2ctl -t | apache2ctl -t | ||
apache2ctl -M | apache2ctl -M | ||
</source> | |||
| valign="top" | | |||
<source lang="bash"> | |||
systemctl enable --now apache2 | |||
systemctl status apache2 | systemctl status apache2 | ||
</source> | |||
|- | |||
source | | colspan="3" | | ||
---- | |||
|- | |||
| valign="top" | | |||
<source lang="bash"> | |||
sudo chown -R www-data:www-data /opt/env/python/RestApi | |||
sudo chown -R www-data:www-data /opt/www/flask/RestApi | |||
timeout 60 telnet localhost 1983 ;printf '\n' | |||
</source> | |||
| valign="top" | | |||
<source lang="bash"> | |||
nohup python RestApi/RestApi/__init__.py>RestApi.log & | |||
ssh -L 1983:localhost:1983 [email protected] | |||
nc -w 60 localhost 1983 ;printf '\n' | |||
</source> | |||
| valign="top" | | |||
<source lang="bash"> | |||
sudo apt install net-tools | |||
ss -lptn 'sport = :1983' | |||
netstat -nlp | grep :1983 | |||
</source> | |||
|} | |||
==References== | ==References== |
Revision as of 09:12, 9 February 2024
Python3
apt install python3.8
pip3 install virtualenv
cd /var/www/flask/RestApi/RestApi/
virtualenv venv
source venv/bin/activate
pip install Flask
deactivate
Flask
mkdir -p /var/www/flask/RestApi/RestApi/{static,templates}
cat > /var/www/flask/RestApi/RestApi/__init__.py << EOF
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello, Bangladesh!"
if __name__ == "__main__":
app.run()
EOF
WSGI3
cd /var/www/flask/RestApi/
cat > /var/www/flask/RestApi/RestApi.wsgi << EOF
#!/usr/bin/python
activate_this = '/var/www/flask/RestApi/RestApi/venv/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))
import sys
import logging
logging.basicConfig(stream=sys.stderr)
sys.path.insert(0,"/var/www/flask/RestApi/")
from RestApi import app as application
application.secret_key = 'Add your secret key'
EOF
Apache2
WSGI3
apt install apache2
systemctl restart apache2
apt install libapache2-mod-wsgi python-dev
a2enmod wsgi
a2dismod wsgi
apt remove libapache2-mod-wsgi python-dev
apt install libapache2-mod-wsgi-py3 python3-dev
a2enmod wsgi
apache2ctl -t
systemctl enable apache2
systemctl restart apache2
SITE
vim /etc/apache2/sites-available/000-default.conf
WSGIScriptAlias /rest "/var/www/flask/RestApi/RestApi.wsgi"
<Directory "/var/www/flask/RestApi/RestApi">
Order Allow,Deny
Allow from all
</Directory>
Alias /rest/static "/var/www/flask/RestApi/RestApi/static/"
<Directory "/var/www/flask/RestApi/RestApi/static">
Order Allow,Deny
Allow from all
</Directory>
https://cdn.chorke.org/rest
Knowledge
python3 -m venv ~/.venv/flask --prompt="Flask"
# source ~/.venv/flask/bin/activate
# (e)flask $
|
python3 -m venv ~/.venv/flask --prompt="Flask"
# source ~/.venv/flask/bin/activate
# (e)flask $
|
python -m venv ~\.venv\flask --prompt="Flask"
# ~\.venv\flask\Scripts\activate
# (e)flask PS>
|
| ||
a2enmod wsgi
a2dismod wsgi
|
apache2ctl -t
apache2ctl -M
|
systemctl enable --now apache2
systemctl status apache2
|
| ||
sudo chown -R www-data:www-data /opt/env/python/RestApi
sudo chown -R www-data:www-data /opt/www/flask/RestApi
timeout 60 telnet localhost 1983 ;printf '\n'
|
nohup python RestApi/RestApi/__init__.py>RestApi.log &
ssh -L 1983:localhost:1983 [email protected]
nc -w 60 localhost 1983 ;printf '\n'
|
sudo apt install net-tools
ss -lptn 'sport = :1983'
netstat -nlp | grep :1983
|