设为首页 收藏本站
查看: 946|回复: 0

[经验分享] 仙音小队长

[复制链接]

尚未签到

发表于 2017-12-23 14:18:36 | 显示全部楼层 |阅读模式
  要注意alias和root的区别
  root  /path相当于访问static的时候是访问/path/static
  alias /path相当于访问static时是访问/path/
  1.确认环境 python2.7   django1.8  centos6.8
  A.安装django
  pip install django==1.8
  B.安装uwsgi
  pip install uwsgi
  报错(-bash: pip: command not found)解决方案
  一、pip下载安装
  1 安装依赖软件
  yum install zlib zlib-devel openssl openssl-devel libcurl-devel gcc gcc-c++ -y
  2 pip下载
  wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate
  3 pip安装   
  tar -xzvf pip-1.5.4.tar.gz
  cd pip-1.5.4
  python setup.py install
  python错误:ImportError: No module named setuptools
  这句错误提示的表面意思是:没有setuptools的模块,说明python缺少这个模块,那我们只要安装这个模块即可解决此问题,下面我们来安装一下:
  在命令行下:
  下载setuptools包
  wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
  解压setuptools包
  tar zxvf setuptools-0.6c11.tar.gz
  cd setuptools-0.6c11
  编译setuptools
  python setup.py build
  开始执行setuptools安装
  python setup.py install
  C.测试uwsgi是否安装成功
  创建测试文件 vim check.py
  #!/usr/bin/python
  # coding:utf8
  def application(env, start_response):
  start_response('200 OK', [('Content-Type','text/html')])
  return "Hello World"
  启动uwsgi
  uwsgi --http :8001 --wsgi-file check.py
  用url访问测试,看到hello world 说明uwsgi可以使用
  http://ip:8001
  D.安装nginx
  切换安装源
  rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
  安装nginx
  yum install nginx -y
  E.部署项目代码
  安装git命令
  yum install git -y
  创建代码根目录
  mkdir /myweb
  获取代码
  cd /myweb
  git clone https://github.com/xianxiaoyin/Monitoring
  修改setting.py
  添加 STATIC_ROOT = os.path.join(BASE_DIR, 'static')    #指定静态资源存放位置
  收集静态资源
  cd /myweb/Monitoring
  python manage.py collectstatic
  报错:
  django.core.exceptions.ImproperlyConfigured: Error loading either pysqlite2 or sqlite3 modules (tried in that order): No module named _sqlite3
  解决方法:
  需要安装sqlite-devel之后,重新编译安装Python即可。
  yum install sqlite-devel
  重新编译安装Python:
  ./configure
  make
  make install
  报错:
  django.core.exceptions.ImproperlyConfigured: The STATICFILES_DIRS setting should not contain the STATIC_ROOT setting
  解决方法:
  把STATIC_ROOT = os.path.join(BASE_DIR, 'static')改为
  STATIC_ROOT = os.path.join(BASE_DIR, 'static1')
  F.配置uwsgi
  在/myweb目录下创建wsgi_conf.ini文件
[uwsgi]  

  socket = 0.0.0.0:3031  
  chdir = /myweb/Monitoring/  
  wsgi-file = Monitoring/wsgi.py  
  processes = 4  
  threads = 2  
  G.配置nginx
  添加配置文件 vim test.conf
  server {
  listen       80;
  server_name  localhost;
  charset      utf-8;
  access_log   /var/log/nginx/test.access.log  main;
  index        index.html;
  location / {
  root         /myweb/Monitoring;
  uwsgi_pass   127.0.0.1:3031;
  include      uwsgi_params;
  }
  location /static {
  alias /myweb/Monitoring/static;
  }
  }
  H.分别启动nginx,uwsgi
  service nginx restart   #重启nginx
  uwsgi wsgi_conf.ini#启动uwsgi
  访问
  http://ip
  访问报502错误
  日志显示(权限不够)
  2017/02/16 15:56:25 [crit] 2652#2652: *4 connect() to 127.0.0.1:3031 failed (13: Permission denied) while connecting to upstream, client: 192.168.136.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", upstream: "uwsgi://127.0.0.1:3031", host: "192.168.136.131", referrer: "http://192.168.136.131/"
  解决方案:
  关闭seliunx
  1.临时关闭
  setenforce 0
  2.永久关闭
  vim /etc/sysconfig/selinux
  把SELINUX=enforcing改为
  SELINUX=disabled
  自动搭建脚本
  

#!/usr/bin/env python  # coding:utf-8
  '''
  install django in the production
  django==1.8
  python==2.7
  uwsgi==2.0.14
  '''
  import os
  import sys
  def getVersion(command=''):# get python version
  version = os.popen(command)
  return version.read()
  if __name__ == '__main__':
  print(getVersion('python --version'))
  print('{} {}'.format('uwsgi', getVersion('uwsgi --version')))
  #更新
  os.system('yum update -y')
  #安装依赖包
  a = os.system('yum install zlib zlib-devel openssl openssl-devel libcurl-devel gcc gcc-c++ -y')
  if a != 0:
  sys.exit()
  os.system('wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz')
  if os.path.exists('setuptools-0.6c11.tar.gz'):
  os.system('tar zxvf setuptools-0.6c11.tar.gz && cd setuptools-0.6c11 && python setup.py build && python setup.py install')
  os.system('rm -rf ./setuptools*')
  else:
  sys.exit('setuptools install error')
  os.system('wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa333267fb1c922bb" --no-check-certificate')
  if os.path.exists('pip-1.5.4.tar.gz'):
  os.system('tar -xzvf pip-1.5.4.tar.gz && cd pip-1.5.4 && python setup.py install')
  os.system('rm -rf ./pip*')
  else:
  sys.exit('pip install error')
  #安装uwsgi
  os.system('pip install uwsgi ')
  #安装django
  os.system('pip install django==1.8')
  #安装nginx
  os.system('rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm')
  os.system('yum install nginx -y && yum install git -y')
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-427173-1-1.html 上篇帖子: python nginx+uwsgi+WSGI 处理请求详解 下篇帖子: NGINX高性能Web服务器详解(读书笔记)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表