一. 将项目上传至linux
二. 配置项目运行环境
1.打开项目
2.安装虚拟环境包
sudo apt install virtualenv
3.创建虚拟环境
virtualenv 环境名 -p /usr/bin/python3 #指向Pytho的安装位置
4.激活环境,deactivate退出环境
source 创建的环境名/bin/activate
三.安装django项目依赖的相关包
pip install django pymysql pillow uwsgi....
四.在项目下创建 uwsgi.ini 文件
配置以下代码,主要修改工程目录和wsgi目录这两项
[uwsgi] # 这句必须要有,我之前就忘了写,然后一直启动不起来
# 使用nginx连接时使用,我们这里使用nginx,就用socket
socket=127.0.0.1:8000
# 直接作为web服务器使用
#http=127.0.0.1:8000
# 配置工程目录
chdir=/home/用户/项目名
# 配置项目的wsgi目录,相对于工程目录
wsgi-file=项目名/wsgi.py(项目下的根目录)
#配置进程,线程信息
processes=4
threads=2
enable-threads=True
master=True
pidfile=uwsgi.pid
daemonize=uwsgi.log
测试能否正常启动uwsgi
uwsgi --ini uwsgi.ini
五.配置nginx
1.安装nginx
#下载key
wget http://nginx.org/keys/nginx_singing.key
#安装key
sudo apt-key add nginx_singing.key
#在apt源文件中配置nginx
sudo vi /etc/apt/sources.list
deb http://nginx.org/packages/ubuntu/ artful nginx
deb-src http://nginx.org/packages/ubuntu/ artful nginx
#更新apt源
sudo apt update
#安装nginx
sudo apt install nginx
2.nginx常用命令
sudo nginx #运行
sudo nginx -s stop #停止
sudo nginx -s reload #重新加载
3.配置nginx
打开新的终端,切换到root用户
su root
cd /etc/nginx
复制nginx目录下的nginx.conf,重命名为要配置的项目文件
cp nginx.conf 自定义.conf
进入conf文件,删掉http最后一项:include /etc/nginx/conf.d/.conf*
在http中增加一项server
server{
listen 80; #监听客户端请求
server_name 10.35.163.30; #服务器名,在终端ip a查看ip
#配置静态资源的路径
location /static{
alias 项目中静态资源的绝对路径
}
#设置反向代理,将所有的访问都反向解析到本地
location /{
include uwsgi_params; #关联uwsgi,通过uwsgi访问最终的项目服务器
uwsgi_pass 127.0.0.1:8000;
}
}
六.启动nginx
先查看nginx是否已启动,如果启动了,就先关闭,然后再启动新创建的conf文件
ps -ef | grep nginx #查看进程
nginx -s stop
nginx -c 自定义.conf #启动nginx文件
七.启动uwsgi
uwsgi --ini uwsgi
八.访问项目
在浏览器输入nginx.conf文件中我们设置好的server_name,就可以访问项目了
注意:如果上面的配置都没问题,但是项目还是访问不了,可以先关闭uwsgi,然后在项目中python manage.py runserver启动,这个时候会看到问题点,然后去处理就好了