整个思路: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 = True
  DEBUG = False
  #ALLOWED_HOSTS = ['*']
  ALLOWED_HOSTS = ["114.115.203.178",]
  进入项目根目录,删除app/migrations/下的以数字开头的数据库同步日志文件,然后数据库迁移与同步:
    python3 manage.py makemigrations
    python3 manage.py migrate

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)的更多相关文章

  1. Linux下搭建HttpRunnerManager接口测试平台

    前言 之前在学习HttpRunner时,我们都是把用例写在 YAML/JSON 中进行维护,使用起来也很方便.其实,现在有不少大佬都喜欢开发自动化测试平台,比如我们今天要搭建的HttpRunnerMa ...

  2. 将网站部署到服务器上出现_STORAGE_WRITE_ERROR_问题

    用的thinkphp3.2的框架,在本地运行没有问题,部署到服务器上(基于centos的LAMP环境)即报错,报错信息如下(完全看不懂...):求大神帮帮忙~~~~(>_<)~~~~ :( ...

  3. 服务器小白的我,是如何将 node+mongodb 项目部署在服务器上并进行性能优化的

    前言 本文讲解的是:做为前端开发人员,对服务器的了解还是小白的我,是如何一步步将 node+mongodb 项目部署在阿里云 centos 7.3 的服务器上,并进行性能优化,达到页面 1 秒内看到 ...

  4. vue-webpack 做出来的项目部署到服务器上,点开是空白页(我这里把项目发布到git上)

    总结1: 从网上下的很多demo,用npm run dev 就可以启动项目,比如:vue-cli,为什么?因为vue-cli自动帮我们安装了express服务器. 总结2: npm run dev 是 ...

  5. 通过域名访问部署在服务器上的javaweb项目

    因为对域名访问什么也不了解,遇到问题就有种不知道从哪里下手的茫然,也就更不知道错在哪里,前前后后一共折腾了一天多,最后问了阿里客服才成功弄出来,因此记录一下. 关于服务器的购买.配置,及域名的备案解析 ...

  6. sqlite数据库部署到服务器上的问题

    试了一天...本地测试是好的(WIN10 64位+VS2015),部署到服务器上(WIN2008 32位+IIS6) 总是不行..按网上说了什么不要BUNDLE的,加入X86X64目录再放那个SQLi ...

  7. context.getResourceAsStream获取的是部署在服务器上面的文件位置 而不是我们本地的工程位置 意思是说获取的都是web下面的文件位置

    context.getResourceAsStream获取的是部署在服务器上面的文件位置 而不是我们本地的工程位置 意思是说获取的都是web下面的文件位置

  8. Springboot 项目部署到服务器上

    项目部署到服务器上,有两种方式,一种 jar 包,一种 war 包 jar包 部署时,后续的域名配置,SSL证书等在nginx中配置 war包 部署时,后续的域名配置可以在tomcat中配置就好,修改 ...

  9. 阿里云服务器Linux CentOS安装配置(八)nginx安装、配置、域名绑定

    阿里云服务器Linux CentOS安装配置(八)nginx安装.配置.域名绑定 1.安装nginx yum -y install nginx 2.启动nginx service nginx star ...

随机推荐

  1. Hadoop 学习之Docker

    docker环境的配置请参考:http://www.cnblogs.com/frankliu/p/8052673.html hadoop-docker安装地址参考:https://hub.docker ...

  2. http://www.36dsj.com/archives/46131

    https://docs.growingio.com/Developer%20Document.html https://youdata.163.com/dash/39706/editor?pid=7 ...

  3. 二十、Flyweight 享元模式

    原理: 代码清单: BigChar public class BigChar { //字符名称 private char charname; //大型字符 # . \n 组成 private Stri ...

  4. 图片识别文字, OCR

    文章引用自: https://www.cnblogs.com/stone_w/archive/2011/10/08/2202397.html 方式一.Asprise-OCR的使用. Asprise-O ...

  5. Fiddler 手机抓包 手机联网异常解决方案

    Fiddler在电脑里已经闲置很久了,之前看是不是服务器返回问题都是连上AS看输出的log,但是终归不如直接抓包来的方便 昨天搞了一下午,手机跟电脑都是连的公司的wifi,手机设置电脑ip和端口的网络 ...

  6. pycharm快捷键及中文说明【使用翻译工具一条一条翻译】

    Search Everywhere: Double Shift Go to File : Ctrl+Shilf+N Recent Files: Ctrl+E Navigation Bar: Alt+H ...

  7. 学生管理系统(Java Swing JDBC MySQL)

    该系统使用 Java Swing.JDBC.MySQL 开发 开发环境 Eclipse.WindowBuilder JDK版本:1.8 代码在百度网盘中(176***5088) 目录结构如下 Data ...

  8. How to configure Samba Server share on Debian 9 Stretch Linux

    Lubos Rendek Debian 13 June 2017 Contents 1. Objective 2. Operating System and Software Versions 3.  ...

  9. Uncommon Words from Two Sentences LT884

    We are given two sentences A and B.  (A sentence is a string of space separated words.  Each word co ...

  10. Spring事务传递

    2018-09-25 @Transactional(propagation=Propagation.NEVER) public void update(){ Session s = sessionFa ...