网上关于如果通过nginx来运行django的文章还是蛮多的,但是有的地方写的可能不够细致,于是在实际操作的时候可能会出现一些问题,具体可以参考这个链接:https://www.cnblogs.com/frchen/p/5709533.html。但是实际在不熟的时候却发现uwsgi的配置文件貌似不怎么好用,于是去官网看了一下,近习惯了修改:
[uwsgi]
socket = 127.0.0.1:8001
chdir = /var/www/html/
wsgi-file = Project/wsgi.py
processes = 4
threads = 2
stats = 127.0.0.1:9191
#stats=%(chdir)/uwsgi/uwsgi.status
pidfile=uwsgi.pid
buffer-size = 65536
需要注意的一点是,这个chdir 是项目的根目录,也是工程文件的父目录,后面的wsgi-file则是工程目录和wsgi文件的结合路径,如果这个搞错了,后面的就直接跑不起来了。此时就可以通过uwsgi uwsgi.ini来启动服务了,但是如果此时通过浏览器直接去访问http://192.168.1.100:8001这个地址很有可能是失败的。要配置好nginx的代理之后通过nginx进行访问,nginx配置文件如下:
server {
listen 80 default_server;
listen [::]:80 default_server;
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/api-qd-01.com/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/api-qd-01.com/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
root /var/www/html;
# Add index.php to the list if you are using PHP
index index.html index.htm index.nginx-debian.html;
server_name api-qd-01.daixiaoshu.com;
location / {
# First attempt to serve request as file, then
# as directory, then fall back to displaying a 404.
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;
uwsgi_read_timeout 2;
}
location /static {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /var/www/html/static/;
}
}
重启nginx之后就可以通过80和443端口访问服务了。最后说下阿里云mariaDB数据库的输入导入,官方提供的导入工具并不好用。最终我是通过navicat导入的数据。首先配置本地的mysql链接,然后配置远程的mariadb数据库连接,配置之前请去阿里云后台设置相关的权限
然后可以通过工具菜单的数据传输功能进行输入导入,如下所示。实际测试3g数据大约需要半小时左右。