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 root root 6 4月 30 12:11 python -> python2
- 1 root root 5 4月 30 12:11 python2 -> python2.7
-rwxr-xr-x. 1 root root 7136 4月 20 2018 python2.7
将原来 python 的软链接重命名:
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><!-- 项目路径 --> <module>myproject.wsgi</module> <processes>4</processes> <!-- 进程数 -->
uwsgi.log
7.运行nginx
cd /usr/local/nginx/sbin
./nginx
//没有任何输出说明启动成功
这时候可以打开网页访问对应IP了
8.运行uwgix
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
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Python的6种内建序列之通用操作
数据结构式通过某种方式(例如对元素进行编号)组织在一起的数据元素的集合,这些数据元素可以是数字或者字符,甚至可以是其他数据结构。在Python中,最基本的数据结构是序列(sequence)。序列中的每个元素被分配一个序号--即元素的位置,也称为索引。第一个元素索引是0,第二个则是1,一次类推。 Python包含6中内建的序列,即列表、元组、字符串、Unicode字符串、buffer对象和xrange对象。 通用序列操作:索引、分片、序列相加、乘法、成员资格、长度、最小值和最大值 1. 索引 序列中所有的元素都是有编号的--从0开始递增。可以通过编号分别对序列的元素进行访问。Python的序列也可以从右边开始索引,最右边的一个元素的索引为-1,想左开始递减。 >>> greeting='Hello' >>> greeting[2] 'l' >>> greeting[-1] 'o' >>> 'stringtesting'[3] #可以对任何一个字符串进行索引,该字符串的第三个索引为'i'字符 'i' >>&...
- 下一篇
linjiashop(邻家小铺)发布了 app 版本,基于 Flutter
linjiashop(邻家小铺) 是一个轻量,简洁的商城系统 linjiashop 是一个基于Spring Boot和Vue.js的web商城系统 linjiashop 包含了商城的后台管理系统,手机h5,小程序版本 linjiashop 包含了app版本(基于Flutter) 仓库地址https://gitee.com/microapp/linjiashop-flutter 目前功能比较简单,还在完善中,欢迎关注, 欢迎下载体验: 测试账号/密码:15011112222/admin,目前没有开放注册功能,敬请谅解 运行效果图:
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Hadoop3单机部署,实现最简伪集群
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8编译安装MySQL8.0.19
- Docker安装Oracle12C,快速搭建Oracle学习环境