为了建立一个工作站,也是麻烦了....

感谢该博主:

https://www.cnblogs.com/levelksk/p/7921066.html    

1.安装centos 后首先安装python,下载解压安装和以前一样,但是注意 python3.7使用起来在 pycharm下建立django遇到bug,可能是我的pycharm版本不够高的原因吧。

后来重新安装python3.6,故障解除。

2.

(nginx+uwsgi+python3+django)  使用该方式,注意尽量开启root来配置,不然会出现各种问题

在早期使用ubuntu遇到众多问题,无奈放弃,转到centos,ubuntu用起来也不够稳定,亟待加强.

3.来源于该博主文章,是一个可靠的博文,没有遇到其他异常状况

1、安装各类基础模块

yum gcc-c++

注:此命令我没有运行成功

(为centos系统增加编译功能)

yum install wget openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

注:此命令正常

(安装这些模块都是为了成功编译安装python3,防止出现各种异常)

yum install libxml*

注:此命令正常

(安装这个模块是为了让uwsig支持使用“-x"选项,能通过xml文件启动项目)

2、编译安装python3(我已经安装好了python3.6所以跳过此步骤)

进入home路径(本人喜欢把东西都下载到这里),执行以下命令:

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

下载完成后,执行解压命令:

tar -zxvf Python-3.6..tar.gz

进入解压后的Python-3.6.3文件夹,依次执行以下命令

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

(将python3安装到/usr/local/python3/路径下)

make -j2
make install -j2
ln -s /usr/local/python3/bin/python3. /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3

注:此命令正常

(以上两个ln命令是为了方便在终端中直接使用python3和pip3命令 )

3、给python3安装django和uwsgi以及配置启动项目的xml文件

pip3 install django
pip3 install uwsgi

注:此命令正常

为了在终端中使用uwsgi命令,执行以下命令

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

将你的django项目放到你想放的路径下,例如/home/www/,假设我们的Django项目名为"myproject",里面有一个应用叫"myapp"
在你的django项目下新建 myproject.xml,内容如下:

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

wq保存

注:此命令正常,对于用不惯Vm的人来说,gedit是个好的选择,注意打开文件要用 root不然提示没有权限。其中有很多命令都需要root,如果狐仙莫名其妙的问题

请开启root

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

进入home目录,执行以下命令:

wget http://nginx.org/download/nginx-1.13.7.tar.gz

注:此命令正常

下载完成后,执行解压命令:

tar -zxvf nginx-1.13..tar.gz

注:此命令正常

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

注意要进入nginx-1.13.7文件夹执行以下命令
cd nginx-1.13.7
./configure
make&make install

注:此命令正常 ,注意要root权限

nginx一般默认安装好的路径为/usr/local/nginx
在/usr/local/nginx/conf/中打开nginx.conf,加入以下内容

cd /usr/local/nginx/conf/
server {
listen ; #暴露给外部访问的端口
server_name localhost;
charset utf-;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:; #外部访问8996就转发到内部8997
}
location /static/ {
alias /home/www/myproject/myapp/static/; #项目静态路径设置
}
}

(以上内容请保证在默认内容的大括号内)

注:此命令正常,nginx.conf  文件下面就有这几行你解注释就好了

有必要说明这种

nginx+uwsgi

工作原理:

  nginx负责建立一个本地的工作环境,就是本地服务器,类似于pycharm的 run调试django一样,可以打开一个 http:127.0.0.1的本地服务页面

并开启一个可使用的端口。

  uwsgi 负责转发,将外网发过来的请求转发给 nginx,nginx就像处理内部访问一样来处理请求。(所以他们的端口明显不一样)

wq保存后进入/usr/local/nginx/sbin/目录
执行

cd /usr/local/nginx/sbin/
./nginx -t

此命令需要root不然报错

命令先检查配置文件是否有错,没有错就执行以下命令:

./nginx

终止

pkill - nginx  

终端没有任何提示就证明nginx启动成功,可以通过链接查看nginx是否启动成功:
http://192.168.1.111 (请将该ip替换成你的服务器ip)

注:你可以输入来避免输入ip

localhost

5、访问项目页面

进入你的django项目路径,执行以下命令:

uwsgi3 -x myproject.xml

注:执行该xml后django就算是启动了,内部的nginx服务也将被启动,uwsgi将能够连接到nginx的服务了,此时网络应该是通畅的了。

以上步骤都没有出错的话,打开你的浏览器,输入以下链接,记得关闭系统防火墙或者开放8996端口
http://192.168.1.111:8996 (请将该ip替换成你的服务器ip)
网站访问成功!

localhost:

注:你可以输入来避免输入ip,此时将能够访问Django的网页了,enjoy yourself

释疑:localhost 在本地就是没有特别的意义,一旦摇了服务器,我们就可以输入服务器地址访问了

centos 下部署django nginx+uwsgi的更多相关文章

  1. CentOS上部署Django+Nginx+Uwsgi环境

    在CentOS上部署Django+Nginx+Uwsgi环境 奇谭  2016-09-01 评论  Linux  python django nginx uwsgi VirtualEnv的作用:创建隔 ...

  2. CentOS7部署Django,nginx,uwsgi,redis

    前期准备 把所有的软件都传到这个tools文件夹 cd - mkdir tools cd tools/ mkdir /application 安装nginx yum install pcre pcre ...

  3. CentOS 6.5下安装Python+Django+Nginx+uWSGI

    1.安装Python31.1先安装zlib库及其他三方库安装uWSGI时需要使用zlib,否则执行python uwsgiconfig.py --build时会报ImportError,就是因为在安装 ...

  4. 阿里云Centos+Django+Nginx+uWSGI

    针对系统中自带的Python2.7版本 1.安装python-devel yum install python-devel 2.安装uwsgi pip install uwsgi 3.测试uwsgi是 ...

  5. ubuntu+Django + nginx + uwsgi 部署

    ubuntu+Django + nginx + uwsgi 部署 0.前期准备 注意:以下几件事都必须在激活虚拟环境下完成 运行以下命令生成项目所需的依赖列表,会在项目根目录生成一个requireme ...

  6. CentOS 下部署Nginx+Gunicorn+Supervisor部署Flask项目

    原本之前有一部分东西是在Windows Server,但是由于Gunicorn不支持Windows部署起来颇为麻烦.最近转战CentOS,折腾一段时间,终于简单部署成功.CentOS新手,作为一个总结 ...

  7. Linux 下部署Django项目

    Linux 下部署Django项目   说明:本文所使用的环境为CentOS 6+Python2.7+Django1.11 安装Django.Nginx和uWSGI 1.确定已经安装了2.7版本的Py ...

  8. Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

    Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 闲着无聊的时候部署了一个Django项目玩,用vm虚拟机部署的. 准备工作 我使用的系统是Ubuntu16 ...

  9. 吴裕雄--天生自然Django框架开发笔记:Django Nginx+uwsgi 安装配置

    Django Nginx+uwsgi 安装配置 使用 python manage.py runserver 来运行服务器.这只适用测试环境中使用. 正式发布的服务,需要一个可以稳定而持续的服务器,比如 ...

随机推荐

  1. 【CLR】详解CLR中的程序集

    目录结构: contents structure [+] 程序集的简介 为程序集分配强名称 如何指定程序集的版本资源信息 如何对程序集签名 全局程序集缓存 如何查看程序集的信息 强命名程序集防串改 1 ...

  2. Charles for Mac(HTTP 监视器和网络抓包工具)破解版安装

    1.软件简介    Charles 是在 Mac.Linux 或 Windows 下常用的 http 协议网络包截取工具,在平常的测试与调式过程中,掌握此工具就基本可以不用其他抓包工具了.Charle ...

  3. 基于mindwave脑电波进行疲劳检测算法的设计(4)

    上一次的实验做到可以从pc端读取到MindWave传输过来的脑电波原始数据了. 我是先定义一个结构体,该结构体对应保存所有能从硬件中取到的原始数据. struct FD_DATA { int batt ...

  4. js 对象数组查找元素常用方法

    let the_spec_List_Vaule = res.Data.Spec_List_Vaule.find(function(x) { return x.Spec_Item_List == pro ...

  5. 【spark 深入学习 06】RDD编程之旅基础篇02-Spaek shell

    --------------------- 本节内容: · Spark转换 RDD操作实例 · Spark行动 RDD操作实例 · 参考资料 --------------------- 关于学习编程方 ...

  6. sublime text 3 环境变量的配置、安装Package Control、汉化和注册

    1.在运行里输入sysdm.cpl打开环境变量设置界面,输入sublime的安装目录,分号和之前的隔开 2.下载好Package Control,解压重命名为package control 下载地址: ...

  7. Current online Redo 和 Undo 损坏的处理方法

    转自:http://blog.csdn.net/tianlesoftware/article/details/6261475 Oracle 不同故障的恢复方案 http://blog.csdn.net ...

  8. Python爬取金山词霸每日一句,存储到MySQL中

    #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/7/3 20:25 # @Author : baoshan # @Site : ...

  9. C语言 · 2n皇后问题

    基础练习 2n皇后问题   时间限制:1.0s   内存限制:512.0MB        锦囊1 搜索算法. 锦囊2 先搜索n皇后的解,在拼凑成2n皇后的解. 问题描述 给定一个n*n的棋盘,棋盘中 ...

  10. android开发(47) 使用xml drawable 实现 局部圆角,可用作圆角边框

    代码如下: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android=" ...