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
相关推荐
python /opt/opms_website/opms/extra_apps/webssh/main.py & >/dev/null ``` #### 用之前创建的用户登录后台 ```bash http://xxxx:10000/admin ``` #### 初始化 * 找到公司表,添加公司 * 然后部门表添加部门 * ...
- **部署**:当开发完成且测试通过后,可以将项目部署到生产环境,如Apache、Nginx或Gunicorn + uWSGI,以便其他团队成员或系统能够使用这些Mock服务。 7. **持续集成/持续部署(CI/CD)** - **自动化测试**:将...
6. 启动服务:执行`python manage.py runserver`启动开发服务器,或者通过Nginx和Uwsgi配置部署在生产环境中。 三、Archery的主要功能 1. 代码仓库管理:Archery可以接入多个Git仓库,支持GitHub、GitLab等外部...
使用Gunicorn或uWSGI等服务器软件,配合Nginx进行部署,以提高性能和稳定性。Flask-Mail用于发送邮件通知,Flask-SQLAlchemy简化数据库操作,Flask-Uploads处理文件上传等。 9. **测试与调试** 开发者会使用Flask...
完成开发后,可以使用 Gunicorn 或 uWSGI 作为 WSGI 服务器,搭配 Nginx 做反向代理和负载均衡,将微服务部署到生产环境。同时,利用 Flask 测试框架编写单元测试和集成测试,确保代码质量。 7. **持续集成/持续...
在生产环境中,通常使用Web服务器(如Nginx)来服务这些文件,而不是Django本身。 3. **数据库迁移**:确保你的数据库模型已经更新并执行了迁移。使用`python manage.py makemigrations`创建迁移文件,然后用`...
11. **部署准备**:生产环境通常使用Gunicorn或uWSGI作为应用服务器,Nginx作为反向代理服务器处理静态文件和SSL。安装并配置这些服务。 12. **配置wsgi**:创建一个wsgi.py文件,它是Django与应用服务器交互的接口...
9. **部署与测试**:完成开发后,将项目部署到服务器,如使用Gunicorn或uWSGI作为应用服务器,Nginx做反向代理。同时,编写自动化测试用例,确保系统的稳定性和功能的正确性。 10. **持续集成与部署(CI/CD)**:...
- 使用`python manage.py collectstatic`命令将所有静态文件收集到一个地方,便于Web服务器服务。 - 编写并测试`wsgi.py`文件,它是Django应用与Web服务器交互的入口。 7. **Web服务器配置** - 选择合适的Web...
6. 部署和运维:Python项目通常部署在WSGI服务器上,如Gunicorn或uWSGI,然后通过Nginx等反向代理服务器进行负载均衡和静态文件处理。运维方面,Docker可以用来封装应用环境,简化部署;Git用于版本控制,持续集成/...
9. **部署**:Python应用可以部署在各种平台上,如Heroku、AWS、Google Cloud Platform或本地服务器,使用工具如Gunicorn、uWSGI和Nginx进行反向代理和负载均衡。 10. **持续集成/持续部署(CI/CD)**:项目可能使用...
- 开发完成后,项目通常会部署到像Heroku、AWS或Google Cloud Platform这样的云平台,或者使用Nginx、uWSGI等服务器进行本地或服务器部署。 8. **持续集成与持续部署(CI/CD)** - 使用Git进行版本控制,配合GitHub...
7. **设置WSGI服务器**:Django应用需要一个WSGI(Web Server Gateway Interface)服务器来处理HTTP请求,如Gunicorn或uWSGI。这些服务器可以与Nginx等反向代理服务器配合工作,提高性能和稳定性。 8. **安全配置**...
8. **反向代理**:在生产环境中,Django应用通常通过Nginx或Apache等反向代理服务器对外提供服务,处理静态文件请求并分发动态请求到WSGI服务器。 9. **安全与性能**:确保SSL/TLS证书配置正确,实现HTTPS安全访问...
部署时,可能使用WSGI服务器如Gunicorn或uWSGI,配合Nginx进行反向代理和负载均衡。 9. 持续集成/持续部署(CI/CD):使用Git进行版本控制,结合Jenkins、Travis CI等工具实现自动化构建和部署,提高开发效率和软件...
2. **Django项目结构**:理解Django项目的目录结构至关重要,包括manage.py、settings.py、urls.py和wsgi.py等核心文件的作用。 3. **数据库配置**:Django支持多种数据库,如SQLite、MySQL、PostgreSQL等。选择...
- 了解Django项目的标准布局,包括`manage.py`、`settings.py`、`urls.py`和`wsgi.py`等关键文件的作用。 - 理解`apps`目录,以及如何创建和配置自定义应用程序。 2. **环境设置**: - 安装与管理虚拟环境...
7. **部署**:最后,项目会被部署到服务器上,常见的Python后端部署方式有Gunicorn或uWSGI配合Nginx。 通过学习和实践"mugenmoku-backend-master"中的代码,开发者可以深入理解Python后端开发的各个方面,包括如何...
Django是Python编程语言中的一款强大、高效的Web框架,用于构建高性能的Web应用程序。本文将深入探讨如何将一个Django项目部署到生产环境,以实现"django-deployment-example"为例,我们将详细介绍从开发环境到生产...
9. **部署**:完成开发后,博客站点需要部署到服务器上,可以使用Gunicorn或uWSGI作为WSGI服务器,Nginx作为反向代理和静态文件服务器,确保网站高效稳定运行。 10. **持续集成/持续部署(CI/CD)**:为了自动化测试...