首页 网站导航 回忆录 留言板 关于
悬浮目录

· item.c ·

16
2
一个分享py的博主 2023年01月05日

网站部署

浏览量(482) 评论量(1) 点赞量(16)

个人博客部署方案

个人博客写完了,部署上线对于不知道的小白来说确实是个麻烦事,我刚开始也折腾了好久,后面一步步的琢磨出来,这里分享给大家,希望有所帮助

有两种方案,一种是Linux部署,另一种则是宝塔部署(推荐对新手友好)

一. Linux部署django + uwsgi + Nginx

1.上传项目

可以上传到github或者gitee然后拉取到自己的云服务器,也可以通过shell远程连接的方式从本地copy到自己的服务器,这里就不详细说了,注意的是记得把py环境导出来成requirements.txt的文件(pip freeze > requirements.txt),方便服务器部署。

2.解压项目

压缩格式尽量使用tar,传到服务器后直接终端命令解压出来,如下图的样子

3.安装虚拟环境
# 安装虚拟环境的命令
sudo pip install virtualenv
sudo pip install virtualenvwrapper
# 1、创建目录用来存放虚拟环境
mkdir $HOME/home/python/blog/.virtualenvs
# 2、打开~/.bashrc文件,并添加如下:
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
# 3、运行
source ~/.bashrc
# mkvirtualenv 虚拟环境名称
mkvirtualenv blog
# 使用虚拟环境
workon blog
# 进入后安装项目需要的包
cd /home/python/blog
pip3 install -r requirements.txt
# uwsgi在windows下可能无法安装导入,所以这里我们还需要
pip install uwsgi
4.创建uwsgi.ini文件

使用vi命令注意应当和你工程的manage.py在同一级

vi uwsgi.ini

在新打开的文件中按照如下参数配置

[uwsgi]
#使用 Nginx 连接时使用,Django程序所在服务器地址
socket=192.168.63.132:8000
#直接做 Web 服务器使用,Django程序所在服务器地址(以上两者二选一)
#http=192.168.63.132:8001

#项目目录
chdir=/home/python/blog/

#项目中wsgi.py文件的目录,相对于项目目录
wsgi-file=blog/wsgi.py

# 进程数
processes=4

# 线程数
threads=2

# uwsgi服务器的角色
master=True

# 存放进程编号的文件
pidfile=uwsgi.pid

# 日志文件,因为uwsgi可以脱离终端在后台运行,日志看不见。我们以前的runserver是依赖终端的
daemonize=uwsgi.log

# 指定依赖的虚拟环境, 路径到虚拟环境的名字即可(可以命令查看 which python)
virtualenv=/home/python/blog
5.Nginx配置

​ 关于Nginx的安装就不细说了,没有就自行安装,我这里选择服务器的时候直接选择的带有Nginx镜像的,先找到自己服务器的Nginx的配置文件如图

最后两行发现现在的Nginx推荐使用include的方法引入外部的配置文件

我便在这里添加自己的一个配置文件,这个文件随便建在什么地方,使用绝对路径就好了,这里直接在同级目录下创建

mkdir vhost
cd vhost
vi nginx.conf

在新的nginx.conf里面的配置如下所示:

server {
    listen 80;  
    server_name www.gax201.icu;   # 你绑定的域名
    location / {
        uwsgi_pass  127.0.0.1:8000;  # uwsgi服务开启的域名和端口
        include uwsgi_params;
    }
    location /static{
        alias /home/python/blog/blog/static;   # 你的项目静态文件路径
    }
}

Nginx配置完成之后记得终端检验一下然后刷新服务

sudo nginx -t
sudo nginx -s reload
6.启动项目
cd /home/python/blog
uwsgi --ini uwsgi.ini
vim uwsgi.log  # 查看日志信息查看项目是否启动

完成以上步骤您的项目应该就能够启动起来了,如果还有问题那么就需要查看具体的uwsgi日志或者nginx日志了,根据日志显示的错误信息来进行错误的修改。

二. 宝塔部署

这种部署方式简单易学上手快问题少推荐没有部署过的使用操作步骤如下:

1.python项目管理器

在宝塔的软件商店下载python项目管理器

2.添加项目

将你的项目添加到python项目管理器

3.配置uwsgi

等待一段时间后添加的项目完成,点击配置,进入项目的uwsgi配置页面如图:

4.配置nginx

与上面的nginx的配置完全相同,这里就不多说了

5.完成

配置好后只需要点击重新启动即可,如有问题点击日志即可查看。

完结

以上是django项目部署的所有内容,尽管教程我认为已经非常详细了,但你在部署的过程中依然会出现各种这样那样的问题,刚开始摸索部署都这样,我刚开始也用了两个多小时,各种端口问题,配置问题,这边我推荐多看看日志里面的报错信息,排查一下究竟是nginx还是uwsgi,还有可能是python的某些包的问题导致不兼容,总之得一点点的排查,多部署部署后面就快了!!觉得不错点个赞吧,谢谢!!

你觉得文章怎么样:

1 人参与,1 条评论

  • 一个分享py的博主:

    如果依然存在问题可以加群或者联系我emojiemoji

    2023-01-05 19:57:00
    点赞(10) 回复(0) 删除