文章内容
2019/12/4 19:34:46,作 者: 黄兵
Ubuntu 18.04 安装Python虚拟环境
如何在Ubuntu 18.04安装虚拟环境呢?具体操作步骤如下:
1、首先更新系统:
sudo apt-get update
安装系统更新:
sudo apt-get -y upgrade
其中-y表示同意安装所有更新。
关于这两个命令的具体区别可以看看这篇文章:Ubuntu点滴--apt-get update和upgrade的作用
2、查看系统中的Python版本:
python3 --version
3、安装Python软件包管理pip,具体命令:
sudo apt-get install -y python3-pip
4、安装一些更多的软件包:
sudo apt-get -y install build-essential libssl-dev libffi-dev python-dev
5、设置虚拟环境:
sudo apt-get -y install python-virtualenv
6、同步github项目数据,之后切换目录:
git clone https://github.com/sycct/xxx.git
移动到/var/目录下面:
sudo mv /home/ubuntu/xxx /var/
切换到项目目录:
cd /var/xxx
7、创建目录内的虚拟环境:
virtualenv venv -p /usr/bin/python3
激活虚拟环境:
. venv/bin/activate
如果是要关闭虚拟环境,使用下面命令:
deactivate
8、由于程序使用了MySQL,需要安装MySQL客户端:
sudo apt-get install libmysqlclient-dev
之后安装相关依赖(MySQL在python环境下面的一些包):
pip install mysqlclient
9、安装相关库文件,如果使用的是requirements.txt文件安装,输入如下命令:
pip install -r requirements.txt
10、在虚拟环境下面安装Gunicorn:
pip install gunicorn
11、测试是否缺少相关库文件,具体命令如下:
gunicorn -b 0.0.0.0:5000 manage:app --reload
如果有问题,可以看看具体错误内容,如果是缺少包,直接使用:
pip install xxx
安装依赖包就可以了,其他问题参考这篇文章:Flask Gunicorn 安装时遇到的问题总结、Flask+Gunicorn+Nginx安装
12、安装nginx:
sudo apt-get -y install nginx
配置/etc/nginx/sites-available/default文件,具体命令如下:
sudo vi /etc/nginx/sites-available/default
配置/etc/nginx/sites-available/default文件示例:
server { listen 80; listen [::]:80 ssl; listen 443 ssl http2; listen [::]:443 ssl; server_name www.materialtools.com; ssl_certificate /etc/ssl/private/www.materialtools.com/1_www.materialtools.com_bundle.crt; ssl_certificate_key /etc/ssl/private/www.materialtools.com/2_www.materialtools.com.key; ssl_prefer_server_ciphers on; ssl_dhparam /etc/ssl/certs/dhparam.pem; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"; keepalive_timeout 70; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; add_header Strict-Transport-Security max-age=63072000; add_header X-Frame-Options DENY; add_header X-Content-Type-Options nosniff; location / { try_files $uri @gunicorn_proxy; } location @gunicorn_proxy { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_redirect off; proxy_pass http://0.0.0.0:5002; # proxy_pass http://app; proxy_connect_timeout 500s; proxy_read_timeout 500s; uwsgi_buffers 16 16k; uwsgi_buffer_size 32k; proxy_send_timeout 500s; } }
上传域名的密钥文件,之后移动到相应目录:
# 新建目录 sudo mkdir /etc/ssl/private/www.materialtools.com/ # 将文件移动到相应目录 sudo mv /home/ubuntu/sms.materialtools.com/Nginx/1_sms.materialtools.com_bundle.crt /etc/ssl/private/sms.materialtools.com/1_sms.materialtools.com_bundle.crt sudo mv /home/ubuntu/sms.materialtools.com/Nginx/2_sms.materialtools.com.key /etc/ssl/private/sms.materialtools.com/2_sms.materialtools.com.key sudo mv /home/ubuntu/dhparam.pem /etc/ssl/certs/dhparam.pem
未完待续。
评论列表