Linux部署Django (Nginx + uwsgi + Python3 + Django)全过程

简介:


系统: centos_7 + Python 3.5.2 + nginx-1.13.7 + uWSGI 2.0.17.1 + Django2.2.0
使用阿里云服务器,1核2g共享型服务器,点我直达查看详细配置情况。安装了这么多后台服务,内存低了真不行。


具体步骤如下:


1.升级Python3


系统自带的一般为Python2,需要对旧版本进行升级


wget https:// www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar -zxvf Python-3.5.2.tgz
cd Python-3.5.2
./configure
make
make install
查看结果


python3 -V
Python 3.5.2
设置python 默认版本3.x


ls -al /usr/bin | grep python
-rwxr-xr-x. 1 root root 11216 12月 1 2018 abrt-action-analyze-python



  1. 1 root root 6 4月 30 12:11 python -> python2
  2. 1 root root 5 4月 30 12:11 python2 -> python2.7
    -rwxr-xr-x. 1 root root 7136 4月 20 2018 python2.7

将原来 python 的软链接重命名:


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

mv /usr/bin/python /usr/bin/python.bak
ln -s /usr/local/bin/python3 /usr/bin/python
python -V
python 3.5.2
2.升级pip3(该过程可能要安装 setuptools)


wget https:// pypi.python.org/packages/source/p/pip/pip-1.3.1.tar.gz --no-check-certificate
tar xvf pip-1.3.1.tar.gz
python pip-1.3.1/setup.py install
3.安装Django (很多方法可以自己选)


pip install django
4.安装uwsgi


pip install uwsgi
5.安装nginx和配置nginx.conf文件


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

tar -zxvf nginx-1.13.7.tar.gz
./configure
make
make install
.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/; #项目静态路径设置

}
}
6.配置diango



127.0.0.1:8997


<chdir>/home/www/myproject</chdir><!-- 项目路径 -->
&lt;module&gt;myproject.wsgi&lt;/module&gt;
    &lt;processes&gt;4&lt;/processes&gt; &lt;!-- 进程数 --&gt; </code></pre>

uwsgi.log

7.运行nginx


cd /usr/local/nginx/sbin
./nginx
//没有任何输出说明启动成功
这时候可以打开网页访问对应IP了


8.运行uwgix


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。

cd 到项目
uwsgi -x 项目.xml
// [uWSGI] parsing config file my_blog.xml 一般这样输出就说明成功了
这个时候访问IP就可以打开具体的网页喽


一般来说到这里就算搞成了,但是现实中肯定有很多问题,对于这些问题我也做了总结有需要的可以查看Linux 下部署Django项目你可能会遇到的问题!
下面我对经常用的指令做下总结方便日后使用
常用指令


配置 nginx.conf文件


cd /usr/local/nginx/conf/
vim nginx.conf
启动: nginx


cd /usr/local/nginx/sbin
./nginx
运行 uwsgi


uwsgi -x my_blog.xml
查看 nginx 日志


tail -f /usr/local/nginx/logs/access.log
查看日志 uwsgi


tail -f uwsgi.log
查看进程号


ps -ef|grep nginx
杀死进程


kill 进程ID
查看端口使用情况


netstat -ntulp|grep 80
MAC查看端口占用情况


lsof -i tcp:8000


点我领取阿里云2000元代金券,(阿里云优惠券的作用:购买阿里云产品,最后支付结算的时候,阿里云优惠券可抵扣一部分费用。
相关文章
|
1月前
|
设计模式 前端开发 数据库
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第27天】本文介绍了Django框架在Python Web开发中的应用,涵盖了Django与Flask等框架的比较、项目结构、模型、视图、模板和URL配置等内容,并展示了实际代码示例,帮助读者快速掌握Django全栈开发的核心技术。
159 45
|
1月前
|
缓存 监控 Linux
Python 实时获取Linux服务器信息
Python 实时获取Linux服务器信息
|
2月前
|
运维 监控 Linux
Linux系统之部署Linux管理面板1Panel
【10月更文挑战第20天】Linux系统之部署Linux管理面板1Panel
104 3
Linux系统之部署Linux管理面板1Panel
|
1月前
|
安全 数据库 开发者
Python Web开发:Django框架下的全栈开发实战
【10月更文挑战第26天】本文详细介绍了如何在Django框架下进行全栈开发,包括环境安装与配置、创建项目和应用、定义模型类、运行数据库迁移、创建视图和URL映射、编写模板以及启动开发服务器等步骤,并通过示例代码展示了具体实现过程。
53 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
65 2
|
1月前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
40 3
|
1月前
|
安全 数据库 C++
Python Web框架比较:Django vs Flask vs Pyramid
Python Web框架比较:Django vs Flask vs Pyramid
42 1
|
2月前
|
Java Linux 网络安全
NIFI在Linux服务区上的部署配置过程是什么?
【10月更文挑战第21天】NIFI在Linux服务区上的部署配置过程是什么?
60 2
|
2月前
|
数据处理 Apache 数据库
将 Python UDF 部署到 Apache IoTDB 的详细步骤与注意事项
【10月更文挑战第21天】将 Python UDF 部署到 Apache IoTDB 中需要一系列的步骤和注意事项。通过仔细的准备、正确的部署和测试,你可以成功地将自定义的 Python UDF 应用到 Apache IoTDB 中,为数据处理和分析提供更灵活和强大的支持。在实际操作过程中,要根据具体情况进行调整和优化,以确保实现最佳的效果。还可以结合具体的代码示例和实际部署经验,进一步深入了解和掌握这一过程。
29 2
|
2月前
|
中间件 应用服务中间件 nginx
Nginx+uWSGI+Django原理
Nginx+uWSGI+Django原理