一、导入python库
pip freeze > requirement.txt
阿里云的ubuntu如果在导入python库的过程中有问题的话,输入下面的代码
sudo apt update
sudo apt install libsdl-pango-dev
apt install libpq-dev
域名设置下,方便接下来的调试。
二、安装nginx和uwsgi
apt-get install nginx
pip install uwsgi
安装完成后,此时访问域名会显示
django项目目录下新建文件 uwsgi.ini文件
[uwsgi]
# Django-related settings
socket = 127.0.0.1:8099
chdir = /home/mysite
module = mysite.wsgi
master = true
processes = 4
vacuum = true
再新建uwsgi_params文件
uwsgi_param QUERY_STRING $query_string;
uwsgi_param REQUEST_METHOD $request_method;
uwsgi_param CONTENT_TYPE $content_type;
uwsgi_param CONTENT_LENGTH $content_length;
uwsgi_param REQUEST_URI $request_uri;
uwsgi_param PATH_INFO $document_uri;
uwsgi_param DOCUMENT_ROOT $document_root;
uwsgi_param SERVER_PROTOCOL $server_protocol;
uwsgi_param REQUEST_SCHEME $scheme;
uwsgi_param HTTPS $https if_not_empty;
uwsgi_param REMOTE_ADDR $remote_addr;
uwsgi_param REMOTE_PORT $remote_port;
uwsgi_param SERVER_PORT $server_port;
uwsgi_param SERVER_NAME $server_name;
再新建mysite_nginx.conf文件
# mysite_nginx.conf
# 上游组件nginx需要连接到
upstream django {
# server unix:///path/to/your/mysite/mysite.sock; # for a file socket
server 127.0.0.1:8099; # 对于web端口套接字(我们将首先使用它)
}
# 服务器的配置
server {
# 您的网站将在哪个港口提供服务
listen 80;
# 它将服务的域名
server_name XXXX.com; #替换计算机的IP地址或FQDN
charset utf-8;
# max upload size
client_max_body_size 75M; # adjust to taste
# Django media
location /media {
alias /home/mysite/media; # your Django project's media files - amend as required
}
location /static {
alias /home/mysite/static; # your Django project's static files - amend as required
}
# 最后,将所有非媒体请求发送到Django服务器。
location / {
uwsgi_pass django;
include /home/mysite/uwsgi_params; # 您安装的uwsgi_params文件
}
}
以下是启动命令
#uwsgi命令
uwsgi --ini uwsgi.ini
pkill -f uwsgi
killall -s INT uwsgi #如果上面无法关闭的话,用这条代码
nohup uwsgi --ini uwsgi.ini & #如果关闭ssl连接导致500错误则用这条命令后台启动
#nginx命令
nginx -s reload #重新加载Nginx配置文件,然后以优雅的方式重启Nginx
sudo service nginx restart #如果上面的重启有错误,用这条命令
nginx -s stop #强制停止Nginx服务
nginx -s quit #优雅地停止Nginx服务(即处理完所有请求后再停止服务)
然后进行链接
sudo ln -s /home/mysite/mysite_nginx.conf /etc/nginx/sites-enabled/
启动这两个文件后就可以正常访问。
参考:使用uWSGI和nginx来设置Django和你的web服务器 — uWSGI 2.0 文档
三、安装mysql数据库
sudo apt update sudo apt install mysql-server
#初始化数据库:
sudo mysql_secure_installation
进入mysql中运行下面代码(root禁止无密码登录,而且设置密码为新密码)
ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY '<new_password>';
service mysqld restart #重启mysql服务命令
将原来的sqlite3数据导出至data.json
python manage.py dumpdata > data.json
#如果提示出错,那是由于window系统版本太高,需要更改语言选项
#导入data.json
python manage.py loaddata data.json
#如果提示出错
#UnicodeDecodeError: 'utf-8' codec can't decode byte 0xff in position 0: invalid start byte
#那么需要先将data.json用记事本打开,另存为的时候选择编码utf-8,然后重新导入就可以了