Related environment installation
The following operations are performed on the remote server (ubuntu 16.04)
Update apt related source first
sudo apt-get update
MySQL installation
apt-get install mysql-server
apt-get install libmysqlclient-dev
Redis installation
sudo apt-get install redis-server
Install virtual environment
pip install virtualenv
pip install virtualenvwrapper
Make the installed virtualenvwrapper effective. Edit the ~ /. Bashrc file as follows:
export WORKON_HOME=$HOME/.virtualenvs
export PROJECT_HOME=$HOME/workspace
source /usr/local/bin/virtualenvwrapper.sh
Make the edited document effective
source ~/.bashrc
requirements file
A python project can contain a requirements.txt file to record all dependent packages and their exact version numbers for deployment in a new environment.
In the virtual environment, use the following command to generate the dependent package in the current virtual environment to the file with version number:
PIP free > Requirements. TXT
when you need to create a full copy of this virtual environment, you can create a new virtual environment and run the following command on it:
PIP install - R requirements. TXT
when you install flash MySQL DB, you may report an error, which may be because the dependent package is not installed, Execute the following command to install the dependency package:
sudo apt get build dep Python mysqldb
to install the dependency package
Nginx
The program is written in C language
to realize the shunting, forwarding and load balancing
related operations
installation
$sudo apt get install nginx
running and stopping
/etc/init.d/nginx start #start
/etc/init.d/nginx stop #stop
Configuration file
edit file/etc/nginx/sites available/default
If there are multiple servers, configure them here and modify the proxy under the location node_ pass
upstream flask {
server 127.0.0.1:5000;
server 127.0.0.1:5001;
}
server {
# Listening on port 80
listen 80 default_server;
listen [::]:80 default_server;
root /var/www/html;
index index.html index.htm index.nginx-debian.html;
server_name _;
location/{
# Requests are forwarded to the gunicorn server
proxy_pass http://127.0.0.1:5000;
# Requests are forwarded to multiple gunicorn servers
# proxy_pass http://flask;
# Set the request header and pass the header information to the server side
proxy_set_header Host $host;
# Set request header and pass original request ip to gunicorn server
proxy_set_header X-Real-IP $remote_addr;
}
}
Gunicorn
Gunicorn (green Unicorn) is a HTTP server for Python WSGI
transplanted from Ruby’s Unicorn project
the gunicorn server is compatible with various web frameworks, with very simple implementation and lightweight resource consumption
gunicorn starts directly with commands, There is no need to write configuration files
related operations
install
PIP install gunicorn
view options
gunicorn - H
run
-w: Indicates a process (worker)
-b: indicates bind ip address and port number (bind)
-D: daemon
--reload: auto refresh (update code, auto refresh available when debug)
gunicorn - W 2 - B 127.0.0.1:7000 running file name: Flash program instance name
for example:
gunicorn - W 2 - B 0.0.0.0:7000 app:app -D --Reload
copy local code to remote
SCP – R local file path [email protected] : remote save path