HttpRunnerManager接口测试平台部署在服务器上(Centos + python3.6 + Mysql5.7 + uwsgi + nginx)
整个思路:HttpRunnerManager + python3.6 + Mysql5.7 + uwsgi + nginx
安装依赖环境,将源代码传到服务器,修改settings,增加uwsgi配置,增加nginx配置并启动,用公网ip访问平台。
1.我这边是用的华为云服务器,系统是centos7.3,登录后,从安全组添加80和8000端口(nginx监听80端口用于访问,8000端口用于部署时的调试工作,部署完成后关闭8000端口)
2.下载了远程连接工具SSH Secure ,这个可以远程连接和上传/下载源代码,以及本地修改配置后上传,因为新手对vim不太熟悉,可以用这个工具,不过不建议,因为在部署的过程中用vim也能逐步熟悉vim和常用的命令。
3.连接后安装python3,过程:下载安装包,解压,configure,make,make install,建立软连接。参考:https://www.cnblogs.com/levelksk/p/7921066.html
4.利用远程工具SSH secure上传源代码及requirement.txt, 并在服务器上安装依赖 pip3 install -r requirement.txt
5.安装mysql5.7,安装完成后,需要用如下命令拿到默认密码:grep 'temporary password' /var/log/mysqld.log
可以参考:https://blog.csdn.net/a394268045/article/details/79288718
安装完成后,登录mysql,创建所需的HttpRunner数据库:
CREATE DATABASE `HttpRunner` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
并在源代码路径下修改HttpRunnerManager下的settings文件的sql部分(账号 秘密 数据库名等),顺便关闭debug模式:
DEBUG = False
ALLOWED_HOSTS = ["114.115.203.178",]
6.安装uwsgi,pip3 install uwsgi
7.安装nginx,pip install nginx
8.配置uwsgi和nginx的启动文件
uwsgi配置可以新建一个uwsgi.ini的文件放到项目根目录,配置如下:
- [uwsgi]
- #http= 0.0.0.0:8000
- # Django-related settings
- project = HttpRunnerManager-master 项目根目录
- project1= HttpRunnerManager 项目settings和wsgi所在目录
- base = /home #源代码存放的服务器目录
- chdir = %(base)/%(project)
- module = %(project1).wsgi:application
- env = DJANGO_SETTINGS_MODULE = %(base)/%(project)/%(project1).settings
- master = true
- processes = 5
- #daemonize = wsgi.log
- socket = %(base)/%(project)/%(project1).sock
- chmod-socket = 666
- vacuum = true
nginx配置:需要进入切换到/etc/nginx/ 目录,打开nginx.conf文件进行server部分配置添加如下:
- server {
- listen 80 default_server; #默认监听端口
- listen [::]:80 default_server;
- server_name xxx.xxx.xxx.xxx; #公网ip地址
- #root /usr/share/nginx/html;
- root /home/HttpRunnerManager-master; #项目目录
- # Load configuration files for the default server block.
- include /etc/nginx/conf.d/*.conf;
- access_log /var/log/nginx/httprunnermanager_access.log; #增加正常日志
- error_log /var/log/nginx/httprunnermanager_error.log; #增加异常日志
- #增加静态文件目录
- location /static/ {
- root /home/HttpRunnerManager-master;
- }
- location /media/ {
- root /home/HttpRunnerManager-master;
- }
- #连接到uwsgi
- location / {
- include uwsgi_params;
- uwsgi_pass unix:/home/HttpRunnerManager-master/HttpRunnerManager.sock;
- }
- error_page 404 /404.html;
- location = /40x.html {
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- }
- }
配置后先启动uwsgi,启动方式,进入uwsgi.ini文件所在目录,执行命令:uwsgi --ini uwsgi.ini ,如果需要在后台运行,可以加上-d
配置后启动nginx,启动方式,直接输入nginx即可。部署过程中,修改后需要重新启动服务,可以先杀掉端口然后重启,如fuser -k 80/tcp
或者:ps -ef|grep uwsgi 查到PID后使用kill -9 PID XXX
然后web登录,OK就说明部署成功了。然后将启动写入默认启动,关闭服务器的8000端口。本篇虽然没有说8000端口那些事,但实际情况是有先用uwsgi启动http连接确认源代码及配置是否正常,因为uwsgi只能单用户登录,所以加入nginx反向代理服务器。
然后还有rabbitMQ中间件后面再部署啦。 看起来是不是很简单,实则首次部署真的好多的坑。列举下我遇到的坑:
1. mysql安装后无法登录,因为不知道默认密码
2.python3安装错误位置导致覆盖在自带的python2目录下
3. 数据库从windows中备份,linux中部分数据无法导入
4.uwsgi安装后,执行命令报无此command,需要建立软链接
5.uwsgi nginx配置有部分后发现总是无法访问,报server internal error
6.uwsgi nginx配置,这部分我在这绕了很久,网上都写的很复杂而且有些有错误。
rabbitMQ中间件部分请移步:https://www.cnblogs.com/Sandy-1128/p/linux-sandy-0326.html
HttpRunnerManager接口测试平台部署在服务器上(Centos + python3.6 + Mysql5.7 + uwsgi + nginx)的更多相关文章
- Linux下搭建HttpRunnerManager接口测试平台
前言 之前在学习HttpRunner时,我们都是把用例写在 YAML/JSON 中进行维护,使用起来也很方便.其实,现在有不少大佬都喜欢开发自动化测试平台,比如我们今天要搭建的HttpRunnerMa ...
- 将网站部署到服务器上出现_STORAGE_WRITE_ERROR_问题
用的thinkphp3.2的框架,在本地运行没有问题,部署到服务器上(基于centos的LAMP环境)即报错,报错信息如下(完全看不懂...):求大神帮帮忙~~~~(>_<)~~~~ :( ...
- 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的
前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...
- vue-webpack 做出来的项目部署到服务器上,点开是空白页(我这里把项目发布到git上)
总结1: 从网上下的很多demo,用npm run dev 就可以启动项目,比如:vue-cli,为什么?因为vue-cli自动帮我们安装了express服务器. 总结2: npm run dev 是 ...
- 通过域名访问部署在服务器上的javaweb项目
因为对域名访问什么也不了解,遇到问题就有种不知道从哪里下手的茫然,也就更不知道错在哪里,前前后后一共折腾了一天多,最后问了阿里客服才成功弄出来,因此记录一下. 关于服务器的购买.配置,及域名的备案解析 ...
- sqlite数据库部署到服务器上的问题
试了一天...本地测试是好的(WIN10 64位+VS2015),部署到服务器上(WIN2008 32位+IIS6) 总是不行..按网上说了什么不要BUNDLE的,加入X86X64目录再放那个SQLi ...
- context.getResourceAsStream获取的是部署在服务器上面的文件位置 而不是我们本地的工程位置 意思是说获取的都是web下面的文件位置
context.getResourceAsStream获取的是部署在服务器上面的文件位置 而不是我们本地的工程位置 意思是说获取的都是web下面的文件位置
- Springboot 项目部署到服务器上
项目部署到服务器上,有两种方式,一种 jar 包,一种 war 包 jar包 部署时,后续的域名配置,SSL证书等在nginx中配置 war包 部署时,后续的域名配置可以在tomcat中配置就好,修改 ...
- 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定
阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...
随机推荐
- python学习记录
学习python中······· 今天写了个装饰器用来登录用,用户名和密码是存在文件里的,涉及到了装饰器和带参数的装饰器 文件里的内容如下 {"liming": 123456} { ...
- python学习笔记之读取配置文件【转自https://my.oschina.net/u/3041656/blog/793467】
[转自https://my.oschina.net/u/3041656/blog/793467] 最近在接触利用python来写测试框架,本人也是个刚接触python,所以是个小菜鸟,今天开始,一点点 ...
- SpringCloud详解
来源于纯洁的微笑 http://www.ityouknow.com/spring-cloud.html
- 项目(四)DHCP服务配置
DHCP是由Internet工作任务小组设计开发的,专门用于为TCP/IP网络中的计算机自动分配TCP/IP参数的协议. 使用DHCP可以减少管理员的工作量,避免IP地址冲突,当网络修改IP地址网段时 ...
- IP路由配置之---------dhcp服务器配置
实验设备:一台华三路由器,一台PC 步骤一,在系统视图下打开dhcp功能,禁用IP(网关,域名服务器) [H3C]dhcp enable # [H3C]dhcp server forbidden-ip ...
- Object强转为实体类类型失败!!!!!!
这是从我CSDN博客直接拿来的图片废话不多说,直接上代码:
- [原]OpenStreetMap数据瓦片服务性能篇
上文说到如何利用node-mapnik架设OpenStreetMap瓦片服务,解决了有没有的问题.然而这个服务还是比较孱弱,主要表现在以下几个方面: 1. Node.js只能使用CPU的一个核,不能有 ...
- Idea+maven+testNG+Selenium+ReportNG自动化框架搭建
1.Idea创建一个空的Maven项目 创建后默认项目目录如图所示 2.配置pom.xml文件 <?xml version="1.0" encoding="UTF- ...
- linux resin 基本站点配置
进入配置文件目录: [root@linuxidc resin-]# cd /usr/local/resin/conf/ 查看都有哪些配置文件: [root@linuxidc conf]# ls app ...
- python 之字符编码
一 了解字符编码的储备知识 python解释器和文件本编辑的异同 相同点:python解释器是解释执行文件内容的,因而python解释器具备读py文件的功能,这一点与文本编辑器一样 不 ...