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

[经验分享] jenkins nginx uwsgi web.py

[复制链接]

尚未签到

发表于 2016-12-24 09:50:15 | 显示全部楼层 |阅读模式
  Jenkins安装起来很容易:
  wget -q -O - http://pkg.jenkins-ci.org/debian/jenkins-ci.org.key | sudo apt-key add -
  sudo sh -c 'echo deb http://pkg.jenkins-ci.org/debian binary/ > /etc/apt/sources.list.d/jenkins.list'
  sudo apt-get update
  sudo apt-get install jenkins
  默认为8080端口,进去jenkins控制台后,进入‘系统管理’,‘管理插件’,选中‘Github plugin’,点‘直接安装’。
  至于新建Job 以及安全设置可以参考Jenkins的官方文档,很详细。
  Github的job只要在‘源码管理’的Git   Repository URL填上想要编译的项目地址就可以了,焦点移出后会自动检测该Github项目是否可用。
  由于Jenkins的job目录有点儿深:/var/lib/jenkins/jobs/your_project/workspace/src
  python项目又不需要编译,所以可以在Jenkins的编译时运行的shell里把src复制到一个目录浅的地方,比如/srv/your_project/src, 或者做个软链接  ln -s /var/lib/jenkins/jobs/your_project/workspace/src /srv/your_project/src。
  nginx的安装比较简单,apt-get就可以了。
  配置:
  vi /etc/nginx/sites-available/defaut
  在默认的server后面添加新的server:
  server {
  listen 80;
  server_name blog.xuli.cc;
  location / {
  include uwsgi_params;
  uwsgi_pass localhost:9999;
  }
  }
  vi /etc/nginx/nginx.conf 
  由于添加了server,需要把server_names_hash_bucket_size 64; 打开。
  另外,可以考虑把刚才Jenkins要通过8080端口访问的方式改成通过子域名jenkins.mydomain.com访问,需要添加proxy_pass:
  server {
  listen 80;
  server_name jenkins.mydomain.com;
  error_log /var/log/nginx/jenkins.error_log info;
  location / {
  proxy_pass http://localhost:8080;
  }
  }
  安装uwsgi
  由于需要同时编译uwsig为python模块,需要先安装python-dev :
  apt-get install python-dev
  我的VPS的系统为ubuntu 12.04,apt-get安装的的uswgi为1.0,不支持--wsgi-file参数,需要卸掉后获取stable版本:
  http://uwsgi-docs.readthedocs.org/en/latest/Download.html
  tar解压后,在解压后的文件中:
  python uwsgiconfig.py --build
  完事儿以后可以用 ./uwsgi -version查看是否成功。可以将bin目录下的uwsgi复制到/usr/bin目录下更方便。
  web.py的安装也很简单,用easy_install或者pip都可以。
  下面就是webpy的代码了:

import web
import os
from datetime import datetime

web.config.debug = False

urls = ('/', 'index')
render = web.template.render('templates/', globals())
class index:
def GET(self):
# return str(datetime.now()) + "<br/>" + os.path.abspath(os.path.curdir)
return render.testwebpy(datetime.now())
app = web.application(urls, globals(), autoreload=False)

if __name__ == '__main__':
app.run()
application = app.wsgifunc()

  最后一句是一定要有的,可以参考webpy网站教程。
  到这一步,就可以运行uwsgi了:
  进入webpy项目的src目录(/srv/your_project/src) :
  uwsgi -s :9999 --wsgi-file app.py
  在前端运行可以方便调试,调试没问题后,把它放到后台运行:
  nohup uwsgi -s :9999 --wsgi-file app.py &
  如果不在src目录下,会报错:No template named testwebpy
  大概就是这些吧,可能有记忆不准确的地方,等下次有机会再配置一次。
  Reference:
  https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Ubuntu
  http://uwsgi-docs.readthedocs.org/en/latest/Install.html
  http://uwsgi-docs.readthedocs.org/en/latest/WSGIquickstart.html
  http://webpy.org/cookbook/mod_wsgi-nginx

运维网声明 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.yunweiku.com/thread-318705-1-1.html 上篇帖子: centos7上搭建jenkins+ansible的server 下篇帖子: Jenkins通过nginx远程部署应用发布报错
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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