原标题:centos7环境部署Django项目
原文来自:CSDN 原文链接:https://blog.csdn.net/qq_36853469/article/details/103470197
1.安装Python3,参考点击
2.安装数据库,参考点击
3.为了环境不被污染和后期版本更新迭代管理,建议安装虚拟环境
pip3 install virtualenv
建立软连接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
在根目录下创建
mkdir -p /data/envmkdir -p /data/webData
其中主要用于存放env和网站数据
4.创建指定版本的虚拟环境
cd /data/env
which python3
#/usr/local/bin/python3,将查找到的放到 -pyhton=后
virtualenv --python=/usr/local/bin/python3 pyweb
然后进入/data/env/pyweb/bin
启动虚拟环境:
cd /data/env/pyweb/binsource activate
5.虚拟环境里用python3安django和uwsgi
pip3 install django==2.1.7
#指定版本,和项目一致,不然可能会出错
pip3 install uwsgi
给uwsgi建立软链接,方便使用
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
6.将Django项目上传到 /data/webData 目录下
注意 将 settings 中的 ALLOWED_HOSTS 设置为 ['*'],这样才能允许任何IP访问
ALLOWED_HOSTS = ['*']
安装依赖包:
pip3 install -r requirements.txt
也可以原则其他源安装,较快
pip3 install -i https://pypi.doubanio.com/simple/ -r requirements.txt
如果安装 mysqlclient 报错的话看下这篇博客 解决centos7 安装mysqlclient报错问题
将数据导入数据库,本地有navicat等工具的话直接导就行了,不需要在服务器操作
7. 配置uwsgi
在项目根目录下新建 项目名.xml,例如我的是blog.xml,这里特别需要注意的是根目录和文件名
<uwsgi>
<socket>127.0.0.1:8001</socket><!-- 内部端口,自定义 -->
<chdir>/data/web/data/blog</chdir><!-- 项目路径 -->
<module>blog.wsgi</module>
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>
8.安装nginx 和 配置 nginx.conf
退出到根目录下,其他也行
下载nginx
wget http://nginx.org/download/nginx-1.13.7.tar.gz
解压
tar -zxvf nginx-1.13.7.tar.gz
安装编译
cd nginx-1.13.7/./configuremakemake install
根目录执行
find -name nginx.conf
./usr/local/nginx/conf/nginx.conf
以防万一,先备份
cd /usr/local/nginx/confcp nginx.conf nginx.conf.bak
打开nginx.conf,把原来内容清空,修改为
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.django.cn;
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997;
uwsgi_param UWSGI_SCRIPT blog.wsgi;
uwsgi_param UWSGI_CHDIR /data/webData/blog;
}
location /static/ {
alias /data/webData/blog/static/;
}
}
}
保存退出
cd /usr/local/nginx/sbin/
执行./nginx -t命令先检查配置文件是否有错,
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
如上没有错就执行以下命令:
./nginx
终端没有任何提示就证明nginx启动成功。
然后可以使用你的服务器地址查看,成功之后就会看到一个nginx欢迎页面。
如果失败的话,注意看下安全组或者防火墙
9.访问项目的页面
cd /data/webData/blog/
执行下面命令:
uwsgi -x blog.xml
重启nginx
/usr/local/nginx/sbin/nginx -s reload
到此,访问你的IP地址 或者 相应的解析域名,即可成功访问!
免责声明:本文来自互联网新闻客户端自媒体,不代表本网的观点和立场。
合作及投稿邮箱:E-mail:editor@tusaishared.com