基于python3(虚拟环境)+nginx+uwsgi+django
首先,需要查看自带的python是 哪个版本的,看项目基于哪个python开发的,来配置需要的python版本。
我的服务器 自带的是 python3
下面,就开始部署吧。
1. 安装虚拟环境
首先可以查看 pip –version,如果没有安装pip的话,先去安装pip
可以使用自带的yum去安装
$ yum install pip
apt-get 默认是没有安装的,如果想用apt-get,还需要去安装apt-get
$ apt-get install pip
使用 virtualenv
$ pip install virtualenv
$ pip install virtualenvwrapper
安装成功后,创建虚拟环境
$ cd /var/www
$ virtualenv venv
创建完成后,启动虚拟环境
$ cd venv
$ source bin/activate
把我们的项目文件上传到 venv 文件目录下,安装我们项目需要用到的模块
pip install ****
我这里用的mysql的数据库,在setting.py文件中设置好数据库的用户名密码,在项目中运行下迁移密令
python manage.py makemigrations
python manage.py migrate
如果你的项目用到mysqlclient的话,安装时候如果有下面的报错信息,需要安装Python 3 和 MySQL 开发头文件和库
$ yum install python3-devel mysql-devel
安装按成后,在安装mysqlclient就可以成功啦。
pip install mysqlclient
安装完成后,启动我们的项目
需要我们去服务器配置一下安全组,把8000端口设置下。
python manage.py runserver 0.0.0.0:8000
这时访问我们的ip地址,就可以成功的访问到我们的项目了
2. 安装nginx
$ yum install nginx
安装完成后,可以查看nginx状态,是否启动
$ systemctl status nginx.service
没有启动的话,把nginx启动。访问ip地址,你会看到这个页面
nginx 启动停止重启指令
$ systemctl start nginx.service
$ systemctl stop nginx.service
$ systemctl restart nginx.service
3.安装uwsgi
pip install uwsgi
安装成功后,可以做一个简单的小测试
$ vim /home/test.py
$ def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return [b"Hello World"]
文件创建完成后,我们运行文件。
$ cd /home
$ uwsgi --http 0.0.0.0:8000 --wsgi-file test.py
成功后,我们访问ip地址,就可以看到 hello Woeld 了
4. 配置项目
上面的步骤都已经成功的话,现在我们开始配置我们的项目
1. nginx配置
nginx安装成功后,安装目录在 etc/nginx。
我们需要在 etc/nginx/conf.d 中创建一个**.conf 文件
$ vim /etc/nginx/conf.d/project.conf
文件内容就是下面这段代码
server {
listen 8080 ;
server_name **.**.**.** ;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8015;
}
location /static/ {
alias /var/www/venv/project/static/;
}
}
listen 端口不能跟uwsgi_pass 端口一样,否则的话后面启动项目会报错,端口被占用
server_name 自己服务器公网IP地址;
static 自己Django项目的static路径;
uwsgi_pass 后面的 uwsgi配置会用到,他们需要保持一致
如果想了解更多的话,需要去 nginx 官网去学习学习。
重点
配置完后一定要重启,重启。
$ systemctl restart nginx.service
2. uwsgi配置
在项目目录下创建一个 uwsgi.ini 的文件。跟manage.py 同级。
这个文件也可以创建在别的文件夹下,但是运行的时候必须cd到当前目录下。
$ vim uwsgi.ini
在uwsgi文件中添加如下代码
[uwsgi]
chdir=/var/www/venv/project
home=/var/www/venv
uid=root
gid=root
module=botai.wsgi:application
socket=127.0.0.1:8015
master=true
workers=5
vacuum=true
thunder-lock=true
enable-threads=true
harakiri=30
post-buffering=4096
daemonize=/var/www/venv/project/logs/uwsgi.log
5. 启动项目
以上配置完成以后,我们需要去项目目录里去 启动我们的uwsgi来启动项目
$ cd /var/www/venv/project
$ uwsgi --ini uwsgi.ini
运行成功后,你可以直接去浏览器输入你的公网IP地址,就可以访问了!
Original: https://blog.csdn.net/tr_136163798/article/details/120901363
Author: 会代码的煎饼果子
Title: 把Django项目部署到阿里云服务器
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/735296/
转载文章受原作者版权保护。转载请注明原作者出处!