Django项目上线指南

经过将近一天的折腾,终于把我的小小项目上线到服务器上啦,哈哈哈,先贴张成功的图以表达激动的心情!

好了,切入正题,讲讲上线的步骤和遇到的坑。

一、配置信息说明

本地:anaconda环境下的python3.7、Apache2.4服务器、Django2.2、xadmin后台插件、win8.1 64位、mysql

服务器:纯python3.7、Apache2.4服务器、Django2.2、xadmin后台插件、winserver2008 32位、mysql

二、环境配置

因为要上线,所以主要依据本地的环境情况来配置服务器的,毕竟之前服务器用来运行php环境的。

1、python3.7安装

由于自己的服务器配置比较低,还是能节省空间就节省空间,直接去python官网下载纯净python安装包,贴上网址:https://www.python.org/downloads/release/python-373/

这里要注意的是要安装python3.7版本,目的是与本地一致,避免出现语法错误的问题。其次要注意因为我的服务器是32位的系统,所以要选择x86那个,并且是executable,下面那个为网络安装,会出现被qing的问题,会报错(0x80072efd),如下图:

安装好后cmd,输入python,若进入编程环境,则说明安装成功。

成功后为了pip方便,将下载路径切换至清华镜像:C:\Users\Administrator路径下新建文件夹“pip”,然后在里面新建一个pip.ini文件,里面内容输入如下:

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple

2、安装Django2.2

切记版本也要与本地的相同。

直接在cmd中运行pip:

pip install Django

 安装好后,进入python环境,输出如下信息:

>>> import django
>>> print(django.get_version())
2.2

则说明Django安装成功。

3、安装Xadmin

推荐阅读这位仁兄的文章,https://blog.csdn.net/kingken212/article/details/46992535

4、安装Apache2.4和mod_wsgi

Apache相对来说安装比较容易。官网下载:https://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC14

注意下载的版本和支持的系统及位数。

在这里十分推荐这位同学些的文章,可以说十分详细了:https://blog.csdn.net/weixin_40754816/article/details/80955817,只需看他的apache2.4和mod_wsgi部分就可以。

三、项目配置

1、mysql建库

(1)新建一个库,名称应与本地库的名称一致。

(2)安装Mysqlclient包,用来使得python和mysql能够互相连接。两种方法:

方法一:传统法

使用pip安装,直接:

pip install mysqlclient

优点:方便

缺点:需要vistual c++14.0以上的环境支持,且这个还很大,附上安装包:https://964279924.ctfile.com/fs/1445568-239446865

方法二:绕过环境法

绕过c++,先在这个网址下载对应的文件:https://www.lfd.uci.edu/~gohlke/pythonlibs/#Mysqlclient

注意一定要保证版本和你环境的版本相对应。然后在其存放的目录安装:

//命令行形式下,转到其目录
pip install mysqlclient‑1.4.2‑cp37‑cp37m‑win32.whl

优点:省空间

缺点:每次都需要先下载再安装,不方便

注:除了这个包,其他的包如果pip报c++的错时,都可以去这个网站找相应的文件来安装。

2、Django文件转移

直接把整个项目复制到服务器中即可,接下来对setting.py文件的配置:

(1)ip和域名

# 允许运行的主机ip地址
ALLOWED_HOSTS = ['127.0.0.1', 'localhost', '47.93.192.48', 'www.famer-business.cn']

(2)数据库

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.mysql',
        'NAME': 'your_database_name', # 改为服务器上刚新建的数据库名称 
        'USER': 'user_name',    # 改为服务器上数据库管理员的密码 
        'PASSWORD': 'password', # 改为服务器上数据库的密码 
        'HOST': '127.0.0.1',
        'PORT': '3306',
    }
}

(3)静态文件设置

这是重点,否则你的项目将会上线后无法加载js等静态文件(特别糟糕),感谢这位老哥的文章,给了我很多帮助:https://blog.csdn.net/qq_35531549/article/details/86600406

# # 访问静态文件所必需的设置的
STATIC_URL = '/static/'
#这里注意不要和你项目static文件夹名一样,因为这个是用来存放收集来的所有静态文件的.
#如果你设置相同,等运行collectstatic时会警告.

STATIC_ROOT = os.path.join(BASE_DIR, 'mystatic')

# 我们的静态文件分开三个部分
# 这里我们设为二个路径
STATICFILES_DIRS = [
    os.path.join(BASE_DIR, 'static'),
    os.path.join(BASE_DIR, 'xadmin'),
    ]

至此setting.py文件修改成功,接下来再对url.py进行修改,注意引入相关的包,没有的就pip:

urlpatterns = [
    # path('admin/', admin.site.urls),  # 原路由
    path(r'xadmin/', xadmin.site.urls),  # 新路由
    path('', include('Course.urls')),      # 包含app Course的所有url
	# 添加静态文件的访问处理函数
	re_path(r'^static/(?P<path>.*)$', serve, {'document_root': settings.STATIC_ROOT}),
]

Django修改完毕

3、Apache配置

修改httpd.conf文件,监听地址可以不用改:

#安装wsgi模块后,出来的三行字符,直接复制过来
LoadFile "c:/users/administrator/appdata/local/programs/python/python37-32/python37.dll"
LoadModule wsgi_module "c:/users/administrator/appdata/local/programs/python/python37-32/lib/site-packages/mod_wsgi/server/mod_wsgi.cp37-win32.pyd"
WSGIPythonHome "c:/users/administrator/appdata/local/programs/python/python37-32"
#设置工程中的wsgi路径
WSGIScriptAlias / C:\Users\Administrator\Desktop\course\UsCourse\mysite\mysite\wsgi.py
#设置工程路径
WSGIPythonPath C:\Users\Administrator\Desktop\course\UsCourse\mysite
#设置wsgi路径
<Directory C:\Users\Administrator\Desktop\course\UsCourse\mysite\mysite>
    <Files wsgi.py>
        Require all granted
    </Files>
</Directory>

#设置静态文件路径,即collectstatic后的那个文件夹
Alias /static C:\Users\Administrator\Desktop\course\UsCourse\mysite\mystatic
<Directory C:\Users\Administrator\Desktop\course\UsCourse\mysite\mystatic>  
    AllowOverride None  
    Options None  
    Require all granted  
</Directory> 

四、运行部署

万事俱备,只欠运行。

1、数据库结构迁移

pythong manage.py migrate

2、数据库数据迁移

可用django的方法,也可以自己直接迁移本地的,这个随意。

3、静态文件收集

pythong manage.py collectstatic

4、运行

重启Apache服务,成功!撒花哈哈

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值