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

感谢该博主:

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. ios实例开发精品源码文章推荐(8.22)

    1.iOS源码:简单阅读器 http://www.apkbus.com/android-112176-1-1.html 2.iOS源码:音频声效--Audio Streamer<ignore_j ...

  2. node服务器中打开html文件的两种方法

    方法1:利用 Express 托管静态文件,详情查看这里 方法2:使用fs模块提供的readFile方法打开文件,让其以text/html的形式输出. 代码: var express = requir ...

  3. Selenium:注解@FindBy、@FindBys、@FindAll的用法

    方式有3种:@FindBy.@FindBys.@FindAll.下文对3中类型的区别和使用场景进行介绍 1)@FindBy @FindBy(id= "A") private Web ...

  4. 译:3.RabbitMQ Java Client 之 Publish/Subscribe(发布和订阅)

    在上篇 RabbitMQ 之Work Queues (工作队列)教程中,我们创建了一个工作队列,工作队列背后的假设是每个任务都交付给一个工作者. 在这一部分,我们将做一些完全不同的事情 - 我们将向多 ...

  5. 源码分析HotSpot GC过程(一)

    «上一篇:源码分析HotSpot GC过程(一)»下一篇:源码分析HotSpot GC过程(三):TenuredGeneration的GC过程 https://blogs.msdn.microsoft ...

  6. 《深入应用C++11:代码优化与工程级应用》勘误表

    <深入应用C++11:代码优化与工程级应用>勘误表,会不断更新,欢迎读者留言或发邮件(cpp11book@163.com)给我提出宝贵意见. 1.第7.3节目录final和override ...

  7. ES6,Array.copyWithin()函数的用法

    ES6为Array增加了copyWithin函数,用于操作当前数组自身,用来把某些个位置的元素复制并覆盖到其他位置上去. Array.prototype.copyWithin(target, star ...

  8. 【6集iCore3_ADP触摸屏驱动讲解视频】6-2 基于FSMC总线的ARM与FPGA通信

    视频简介: 该视频介绍基于FSMC总线的ARM与FPGA通信   源视频包下载地址: 链接:http://pan.baidu.com/s/1slJDoQD 密码:tmw7   银杏科技优酷视频发布区: ...

  9. Jenkins这种构建工具,一般都是内部使用,所以外部基本上不能访问

    类似于Jenkins这种构建工具,一般都是内部使用,所以外部基本上不能访问,也可以隔绝外部黑客的入侵等.直接暴露外部是非常不安全的,特别是没有什么安全验证,容易被别人入侵做一些非法的事情! 所以,希望 ...

  10. hdoj:2046

    #include <iostream> using namespace std; long long fib(int n) { ) ; ) ; ; ; ) { long long f3 = ...