centeros上部署django项目 整理

1,查看服务器版本:

2,安装依赖:
//安装编译工具
yum install -y gcc* pcre-devel openssl-devel
//安装python依赖
yum install -y python-devel
//安装uwsgi
pip install uwsgi
(此处注意,我之前也用yum安装过uwsgi忘了,后来又pip安装,启动uwsgi时就会报错,什么job/…)

3,安装python3,解决openssl依赖问题https://www.cnblogs.com/mqxs/p/9103031.html

4,上传项目到/var/www/下
对web开发和部署有些许经验的同学应该知道,对于生产环境的web应用部署,应该是对 web应用 + web应用服务器软件 + web服务器软件 的组合操作。web应用顾名思义就是你的web project,这可以是java web项目,django项目或者php项目;web应用服务器软件就是运行web应用的地方,例如java用的tomcat服务器,django用的uwsgi服务器,正常情况下你只需要将web项目部署在应用服务器软件上就可以对外提供服务了。只不过这种情况下外部所有的请求不管是(动态请求还是静态请求)都是由web应用服务器软件来处理,在用户较少的情况下这样其实是够用的,但是当用户数增大,就必须要考虑到服务器系统的负载,如果不能做到服务器负载的均衡分配,必然会导致在访问高峰情况下出现不可预知的严重后果。这时就是我们的web服务器软件派上用场的时候了,web服务器软件常见的当然就是著名的apache和nginx了,使用它们再配合应用服务器软件我们就能轻松的实现web网站的动静分离,静态文件请求就交给apahce和nginx,动态请求就会由apache和nginx转发到相应的应用服务器软件来处理。

5,安装django 运行runserver测试一下.

6,运行uwsgi测试 uwsgi --http :8080 --module your_proj_name.wsgi
the web client <-> uWSGI <-> Django

7,安装代理服务器nginx
sudo rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm #安装nginx yum源
sudo yum info
sudo yum install nginx

8,!!!配置nginx因为/etc/nginx/nginx.conf 文件会include /etc/nginx/conf.d/目录下的所有配置文件,为了方便管理配置文件,我们在/etc/nginx/conf.d/ 下创建自己的web项目的配置文件,例如新建一个my_site.conf文件。 在配置文件里我们输入如下信息(其中easy_sysman是我的工程名):

server {
listen 8080; #启动的nginx进程监听请求的端口
server_name localhost; #域名
error_log /var/log/error.log; #nginx错误日志,可自行设置,但必须保证提前建立好该目录和文件,其实不知道这个日志文件和项目内logs文件区别
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:9090; #对于动态请求,转发到本机的9090端口,也就是uwsgi监听的端口
}
#error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location /static/ {
alias /var/www/easy_sysman/static/; #设定静态文件所在目录
}
location /media/ {
alias /var/www/easy_sysman/media/; #同样自行设置,要保证目录已经建好
}
}

配置文件写好后,我们要检查配置文件的正确性:

nginx -t -c /etc/nginx/nginx.conf

9 .同步静态文件到nginx设置的目录下
首先修改django项目setting.py,增加
STATIC_ROOT = ‘/var/www/easy_sysman/static/’

在命令行输入
python manage.py collectstatic

自动将所有静态文件复制到nginx的索引目录。

10,启动uWSGI:
切换到django项目目录(到有manage.py的一层)

uwsgi --socket 9090 --module easy_sysman.wsgi (这里端口号写多少,访问地址就要写多少)

11,启动nginx
sudo service nginx restart

就可以访问 服务器ip:8080/ 就能出现页面,如果不行就检查 /var/log/easy_sysman/error.log里的错误内容,一点点修正。
这种服务提供方式可以表述为:

the web client <-> the web server <-> the socket <-> uWSGI <-> Django

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值