centos7环境部署Django项目

1.安装Python3,参考点击

2.安装数据库,参考点击

3.为了环境不被污染和后期版本更新迭代管理,建议安装虚拟环境

pip3 install virtualenv

建立软连接

ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv

 在根目录下创建

mkdir -p /data/env
mkdir -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/bin
source 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/
./configure
make
make install

 根目录执行

find -name nginx.conf

     ./usr/local/nginx/conf/nginx.conf

以防万一,先备份

cd /usr/local/nginx/conf

cp 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地址 或者 相应的解析域名,即可成功访问! 

发布了128 篇原创文章 · 获赞 95 · 访问量 35万+

猜你喜欢

转载自blog.csdn.net/qq_36853469/article/details/103470197