首先,需要查看自带的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.service3.安装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 了
上面的步骤都已经成功的话,现在我们开始配置我们的项目
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; # 指定项目路径uwsgi 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.service2. uwsgi配置
在项目目录下创建一个 uwsgi.ini 的文件。跟manage.py 同级。
这个文件也可以创建在别的文件夹下,但是运行的时候必须cd到当前目录下。
$ vim uwsgi.ini
在uwsgi文件中添加如下代码
[uwsgi] # 项目目录 chdir=/var/www/venv/project # python 虚拟环境 home=/var/www/venv # 启动uwsgi的用户名和用户组 uid=root gid=root # 指定项目的application module=botai.wsgi:application # 指定sock的文件路径 socket=127.0.0.1:8015 # 启用主进程 master=true # 进程个数 workers=5 # 自动移除unix Socket和pid文件当服务停止的时候 vacuum=true # 序列化接受的内容,如果可能的话 thunder-lock=true # 启用线程 enable-threads=true # 设置自中断时间 harakiri=30 # 设置缓冲 post-buffering=4096 # 设置日志目录 daemonize=/var/www/venv/project/logs/uwsgi.log5. 启动项目
以上配置完成以后,我们需要去项目目录里去 启动我们的uwsgi来启动项目
$ cd /var/www/venv/project $ uwsgi --ini uwsgi.ini
运行成功后,你可以直接去浏览器输入你的公网IP地址,就可以访问了!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)