centos + Django + uwsgi + nginx 部署

一、安装软件管理包和可能使用的依赖

>> yum -y groupinstall "Development tools"
>> yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel 
>> yum install libffi-devel -y

二、安装python3

下载python3

>> wget https://www.python.org/ftp/python/3.7.2/Python-3.7.2.tgz

解压

>> tar -zxvf  Python-3.7.2.tgz

进入解压后的路径

.>> cd Python-3.7.2

指定编译安装的路径(路径可以自己指定,如下面安装到/usr/local/python3 路径下)

>> ./configure --prefix=/usr/local/python3  

安装

>> make & make install

安装完成后,建立软连接(python安装完成后,pip3也一块儿安装完成,不需要单独安装)

 >>ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
>> ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3

查看 python3 和 pip3 安装情况

 

三  安装virtualenv

>> pip3 install virtualenv

建立软连接

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

安装成功在根目录下建立两个文件夹,主要用于存放env和网站文件的。(个人习惯,其它人可根据自己的实际情况处理)

>> mkdir -p /data/env

>> mkdir -p /data/wwwroot

切换到/data/env/下,创建指定版本的虚拟环境。

>> virtualenv --python=/usr/bin/python3 pyweb 
>> cd /data/env/pyweb/bin 

启动虚拟环境
>> source activate

如果终端出现pyweb,说明成功进入虚拟环境

 

四、 在虚拟环境里安装django和项目所需的其他python插件

>> pip install django
>> pip install pymysql
>> pip install pandas

 

五、配置并启动django项目

将django工程文件复制到 /data/wwwroot 目录下,以下示例工程文件名为loganalysis,进入项目文件夹/data/wwwroot/loganalysis/loganalysis,并编辑/data/wwwroot/loganalysis/loganalysis/setting.py文件

>> cd /data/wwwroot/loganalysis/loganalysis

>> vim setting.py

将文件中 ALLOWED_HOSTS = [] 改为 ALLOWED_HOSTS = ['*'](*表示所有主机都可以访问)

添加静态文件路径:

STATIC_ROOT = os.path.join(BASE_DIR, "static/")

然后 :wq 保存

启动django项目看项目所需组件是否安装成功

>> cd /data/wwwroot/loganalysis

>> python manage.py runserver 0.0.0.0:8002

在浏览器中输入http://10.1.3.174:8002看能否访问成功

 

六、在虚拟环境中安装配置uwsgi

>> pip install uwsgi

给uwsgi建立软链接,方便使用

>> ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

测试uwsgi

 进入工程所在目录

>> cd /data/wwwroot/loganalysis

在工程目录下创建一个test.py文件,并在文件中输入以下代码:

# test.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3
    #return ["Hello World"] # python2

保存文件

 

在8000端口运行uwsgi(端口可以自己设置,只要不与其他应用程序的端口冲突)

>> uwsgi --http :8000 --wsgi-file test.py

在浏览器中输入http://10.1.3.174:8000看是否访问成功。

在工程根目录(/data/wwwroot/loganalysis)下添加loganalysis.xml文件,输入以下内容:

<uwsgi>    
   <socket>127.0.0.1:8997</socket><!-- 内部端口,自定义 --> 
   <chdir>/data/wwwroot/loganalysis/</chdir><!-- 项目路径 -->            
   <module>loganalysis.wsgi</module> 
   <processes>4</processes> <!-- 进程数 -->     
   <daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

(loganalysis是工程名)

七、安装nginx和配置nginx.conf文件


进入home目录,执行下面命令

wget http://nginx.org/download/nginx-1.13.7.tar.gz
下载完成后,执行解压命令:

tar -zxvf nginx-1.13.7.tar.gz

进入解压后的nginx-1.13.7文件夹,依次执行以下命令:

./configure 
make
make install
nginx一般默认安装好的路径为/usr/local/nginx


在/usr/local/nginx/conf/中先备份一下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       8001;
        server_name  localhost;
        charset utf-8;
        location / {
           include uwsgi_params;
           uwsgi_pass 127.0.0.1:8997;
           uwsgi_param UWSGI_SCRIPT loganalysis.wsgi;
           uwsgi_param UWSGI_CHDIR /data/wwwroot/loganalysis; #项目路径
           
        }
        location /static/ {
        alias data/wwwroot/loganalysis/static/; #静态资源路径
        }
    }
}
 注意红色的地方要和loganalysis.xml还有工程路径对应上。 


进入/usr/local/nginx/sbin/目录
执行 ./nginx -t 命令先检查配置文件是否有错,没有错就执行以下命令启动nginx:

./nginx

终端没有任何提示就证明nginx启动成功。可以使用你的服务器地址查看,成功之后就会看到一个nginx欢迎页面。
 

八、访问项目的页面。


 进入网站项目目录

>> cd /data/wwwroot/loganalysis/

执行下面命令:
>> uwsgi -x loganalysis.xml


进入/usr/local/nginx/sbin/目录
执行:
>> ./nginx -s reload  (重启nginx)


可以在浏览器里访问你的网站了!

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值