1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 阿里云运行python项目_荐个人博客开发-06:Nginx + uWSGI + Django项目部署到阿里云服务器运行...

阿里云运行python项目_荐个人博客开发-06:Nginx + uWSGI + Django项目部署到阿里云服务器运行...

时间:2022-10-18 22:38:34

相关推荐

阿里云运行python项目_荐个人博客开发-06:Nginx + uWSGI + Django项目部署到阿里云服务器运行...

版本:Python-3.8.1 + Django-2.2 + 阿里云服务器 Ubuntu-16.04

在正式部署前,需要确认几点:

服务器上已经安装相应的 Python MySQL Nginx uWSGI 以及相应的python第三方库

项目代码在本地可以运行,并且已经上传到服务器

收集静态资源并导入项目包扩展文件(django项目收集静态文件)

1. Nginx配置文件

看很多教程都是在 /etc/nginx 目录下,在 nginx.conf 中进行配置。我配置的时候没有采用这种方法,在 /etc/nginx/sites-available 新建一个配置文件 blog.conf (名字可随意),写入内容:

# 对所有访问以 https:// 访问

server {

listen 80;

server_name ;

rewrite ^(.*)$ $1;

}

server {

listen 443;

server_name ;

charset utf-8;

# 配置SSL证书

ssl on;

ssl_certificate /etc/nginx/cert/.pem; # 证书文件,在服务器的绝对路径

ssl_certificate_key /etc/nginx/cert/.key;

ssl_session_timeout 5m;

client_max_body_size 75M;

# 收集静态资源的路径

location /static {

alias /home/newblog/static_collected;

}

# 用户或后台上传的文件路径

location /media {

alias /home/newblog/media;

}

# 其他路径交给uwsgi处理

location / {

uwsgi_pass 127.0.0.1:8001;

include /etc/nginx/uwsgi_params;

}

}

补充:

关于证书配置,在购买了阿里云服务器之后,可以申请免费的证书并下载。适用于Nginx的证书一般有两个文件,.crt(或 .pem)和 .key ,将这两个文件上传到服务器, 然后将路径写为绝对路径即可。

使用命令 ln -s /etc/nginx/sites-available/blog.conf /etc/nginx/sites-enabled/blog.conf,建立软链接,只有在 sites-enabled 目录下的配置文件才能够真正被用户访问。但是你同样可以将文件放在 sites-available 目录下用来存档或者生成链接。关于 sites-available 和sites-enabled 的区别可以参考:nginx 配置 nginx.conf 和sites-available中配置的区别 或者 nginx 配置详解(新手必看)

2. uwsgi配置

在 /home 目录下新建 blog_uwsgi 文件夹,用于存放 uwsgi 相关配置文件

创建 blog.ini 文件,内容如下:

[uwsgi]

# 项目路径

chdir = /home/newblog/

# 项目中 wsgi.py 文件的位置

module = Myblog.wsgi:application

master = True

processes = 4

harakiri = 60

max-requests = 5000

# 此处的 socket 需要与上面 nginx 中 location 中的 uwsgi_pass 一致,并且需要保证服务器安全组配置中该端口开放

socket = 127.0.0.1:8001

uid = 1000

gid = 2000

# 通过该文件重启或停止 uwsgi 服务

pidfile = /home/blog_uwsgi/master.pid

# 日志文件,记录错误信息

daemonize = /home/blog_uwsgi/blog.log

vacuum = True

3. 常用命令

当以上配置完成后可以使用 uwsgi --ini /home/blog_uwsgi/blog.ini 启动这个项目,可以在浏览器访问到网站

# 重启 nginx 服务

service nginx restart

# 查看当前 nginx 状态

nginx -t

# 查看当前 uwsgi 进程

ps -aux | grep uwsgi

# uwsgi 服务重启(master.pid 为个人定义)

uwsgi --reload master.pid

# uwsgi 服务停止

uwsgi --stop master.pid

4.参考博客

完结撒花

磕磕绊绊终于把博客上线了,有小伙伴看到可以看看效果: 别看我只是一只羊

只是一个超级简单的小项目,也没有互动功能~想加个文章评论,奈何我前端代码不会写,做的框框太丑,为了不影响美观删掉了很多板块。有交流的小伙伴可以通过邮箱和我获得联系,网站上的微信号是假的咯。。。前路漫漫,加油吧!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。