系统版本

centos7

python版本

使用官方python3.6.3正式版

django版本

使用本文发布时最新的1.11.7

uwsgi版本

使用本文发布时最新的2.0.15

nginx版本

使用本文发布时官网最新的1.13.7

进入正题,一行命令,一行注释,使用root身份登录系统执行

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

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

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

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

tar -zxvf Python-3.6.3.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.6 /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:8997</socket><!-- 内部端口,自定义 -->
<chdir>/home/www/myproject</chdir><!-- 项目路径 -->
<module>myproject.wsgi</module>
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>

wq保存

4、安装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

在/user/local/nginx/conf/中打开nginx.conf,加入以下内容

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

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

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

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

./nginx

终端没有任何提示就证明nginx启动成功,可以通过链接查看nginx是否启动成功:

http://192.168.1.111 (请将该ip替换成你的服务器ip)

5、访问项目页面

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

uwsgi3 -x myproject.xml

以上步骤都没有出错的话,打开你的浏览器,输入以下链接,记得关闭系统防火墙或者开放8996端口

http://192.168.1.111:8996 (请将该ip替换成你的服务器ip)

网站访问成功!

centos7下部署Django(nginx+uwsgi+python3+django)的更多相关文章

  1. centos 下部署django nginx+uwsgi

    为了建立一个工作站,也是麻烦了.... 感谢该博主: https://www.cnblogs.com/levelksk/p/7921066.html 1.安装centos 后首先安装python,下载 ...

  2. 转载:CentOS7下部署Django项目详细操作步骤

    部署是基于:centos7+nginx+uwsgi+python3+django 之上做的 文章转自:Django中文网        https://www.django.cn/article/sh ...

  3. 基于centos7+nginx+uwsgi+python3+django2.0部署Django项目

    0.序言 本文讲解如何基于centos7+nginx+uwsgi+python3+django2.0把windows上的本地项目部署到云服务器上. 本文服务器上的django项目和虚拟环境的路径将建立 ...

  4. ubuntu+Django + nginx + uwsgi 部署

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

  5. CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点

    因为我的个人网站 restran.net 已经启用,博客园的内容已经不再更新.请访问我的个人网站获取这篇文章的最新内容,CentOS 环境下基于 Nginx uwsgi 搭建 Django 站点 以下 ...

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

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

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

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

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

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

  9. Install Python+Django+Nginx+UWSGI

    一.软件环境: CentOS6.6_64bit 需要用到的软件: [root@django tools]# ll 总用量 33336 -rw-r--r-- 1 root root 7497785 3月 ...

随机推荐

  1. Spring 笔记总结

    1.Spring框架的核心是提供一个容器(BeanFactory 或 ApplicationContext),提供以下功能: 1)创建和销毁组件对象,类似"工厂类" 2)采用不同的 ...

  2. 转 node.js里面的http模块深入理解

    问题1:HTTP服务继承了TCP服务模型,是从connection为单位的服务到以request为单位的服务的封装,那么request事件何时触发? 注意:在开启keepalive后,一个TCP会话可 ...

  3. 有序线性表(存储结构数组)--Java实现

    /*有序数组:主要是为了提高查找的效率 *查找:无序数组--顺序查找,有序数组--折半查找 *其中插入比无序数组慢 * */ public class MyOrderedArray { private ...

  4. Bootstrap的核心——栅格系统的使用

        前  言 絮叨絮叨 Bootstrap 是基于 HTML.CSS.JAVASCRIPT 的,它简洁灵活,使得 Web 开发更加快捷. 而栅格系统是Bootstrap中的核心,正是因为栅格系统的 ...

  5. vb.net 代码建立控件,并显示在窗体上

    Dim lb As New Label        lb.Text = "hello"        lb.Top = 200        lb.Left = 100      ...

  6. 基于.NET CORE微服务框架 -浅析如何使用surging

    1.前言 surging受到大家这么强烈的关注,我感到非常意外,比如有同僚在公司的分享会上分享surging, 还有在博客拿其它的RPC框架,微服务做对比等等,这些举动都让我感觉压力很大,毕竟作为个人 ...

  7. thinkphp项目在apache服务器中“去掉”index.php后出现找不到url的问题

    今天将MAC中apache环境下的thinkphp项目移植到windows中得apache环境下.原本都是apache环境,而且配置都一样,死活给我这样的提示: Not Found The reque ...

  8. Leetcode题解(十三)

    36.Valid Sudoku 题目 代码如下: class Solution { public: bool isValidSudoku(vector<vector<char> &g ...

  9. Brave Game(裸的巴什博弈)

    Brave Game Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Su ...

  10. CUDA C Best Practices Guide 在线教程学习笔记 Part 1

    0. APOD过程 ● 评估.分析代码运行时间的组成,对瓶颈进行并行化设计.了解需求和约束条件,确定应用程序的加速性能改善的上限. ● 并行化.根据原来的代码,采用一些手段进行并行化,例如使用现有库, ...