ライン上のレコードの展開のためのEasyTest-インタフェースのテスト自動化プラットフォーム

プラットフォームのURL:http://129.28.187.64

  、クラウドサーバは2019年6月27日、満期を期待されている上演重く過ごしハハ、私の兄のささやきの指導を体験したいと考えていました~~~

 

展開環境

  クラウドサーバ:Ubuntuのサーバー16.04.1 LTS 64魏

  メインパッケージのPythonのバージョン:

python 3.5.2 
Djangoは2.0.3 
BeautifulReport 0.0.9 
セロリ3.1.25 
セロリ-と-のRedis 3.0 
colorlog 4.0.2 
暗号1.4.1 
DDT 1.2.1 
ジャンゴ・セロリ3.2.2 
ジャンゴ-のRedis 4.0.0 
gevent 1.4.0を
greenlet 0.4.15 
gunicorn 19.9.0 
ipython 7.5.0 
matplotlibの3.0.0 
枕6.0.0 
ピップ19.1.1 
pycrypto 2.6.1 
PyMySQL 0.9.3 
QRコード6.1 
Redisの2.10.6 
の要求2.22.0

 

問題

1.なぜpython3.5?

  Ubuntuは、時間uwsgiに従ってpython3.6を使用して、常に誤差が、それはまた、原因を見つけるために持っています...

2.タイミングタスクがエラーを実行する:
  1> .TypeError:唯一のタプルするタプル(ない"NoneType")連結することができます。
    バージョン3.1.17必要な問題をセロリセロリ-3.1.25ジャンゴセロリ-のRedis 3.0;   HTTPS:// GitHubに.COM / stanleylst / ansibleUI /問題/ 2 

  2> .TypeError:1つの必要な位置引数が欠落し__init __(): 'on_delete';

    django2.0のon_deleteが必要です。   https://blog.csdn.net/qq_38038143/article/details/80286187
  3> .AttributeError:オブジェクトタイプは'BaseCommand'属性がNO 'option_list'がありません;。
    3.2.2ジャンゴ・セロリにアップグレード解決;    https://chowyi.com/Django-1-10-celery-worker-%E5%90%AF%E5%8A%A8%E6%8A%A5%E9%94%99/

3.django2.2 / MySQLのImproperlyConfigured:あるmysqlclient 1.3.13以降が必要です。あなたは0.9.3を持っている必要があり、
  Djangoのバージョンは、ダウングレードはそれを下に2.2をdiangoします。

4.あなたがでTCL 8.5以降が必要です 。Redisのテストを実行するために
  間違ったインストールRedisの時間を、あなたは、TCLアップグレードすることができます。https://www.cnblogs.com/Security-Darren/p/4381932.html

負荷分散5.nginxが提供される場合、名前が付けられていないが、下線が引かれている。
  上流て、myApp {
    サーバー127.0.0.1:9000;
    }

6.BeautifulReportモジュール;
  result.report(ファイル名=今+ 'report.htmlを'、readConfig.title説明=、=開き、log_path、report_path);
  開き、log_path、パラメータreport_dirを交換する必要があるパラメータ

7.redis.exceptions.ResponseError:MISCONF Redisのは、RDBのスナップショットを保存するように構成されたが、現在はディスク上に持続することはできませんです。データセットを変更することができるコマンドが無効になっています。エラーの詳細については、Redisのログを確認してください。
  Redisの-CLI输入コンフィグ設定ストップ書き込みオンbgsaveエラーなし  https://www.jianshu.com/p/3aaf21dd34d6

8.locustデーモン;括弧をもたらす(ベース-fローカスト/ performance.py --master&)   https://www.cnblogs.com/maoxianfei/p/7987217.html

  スレーブ動作性能試験バッタ-fベースを開始/ performance.py --slave --masterホスト= 129.28.187.64

9.定期的なタスクデーモン・セロリスーパーバイザジャンゴ    http://yshblog.com/blog/165

  supervisord.conf

[プログラム:celery.worker] 
; runディレクトリが指定された
ディレクトリ= /ホーム/ Ubuntuの/ easyTest /を
、実行ディレクトリの実行
コマンドを=のpython manage.pyセロリの労働者は--loglevel = /ホーム/ Ubuntuの/ EasyTest / celery_logs --logfile情報/celery_worker.log 

;スタートアップ設定
するnumprocs = 1;プロセスの数
監督が始まったとき、プログラムが自動的に起動します。自動=真
=真自動再;自動的に再起動し

、信号、デフォルトのTERMを停止
;割り込み:INT(Ctrlキー+ Cなど) (推奨)ファイルを書き込んだ後終了するか、ログに記録されます、(-INT PIDを殺す)
TERM(キルPIDを-term):終了; 
HUP(-HUP PIDを殺す)、注意とCtrl + Zが/ -stop PIDを殺す:保留中。異なる
;冷静に停止します(キルPIDを-quit)QUIT 
StopSignal INT = 

;出力ログ
stdout_logfile = /ホーム/ Ubuntuの/ easyTest / celery_logs / celery_worker.log 
stdout_logfile_maxbytes = 10メガバイト、最大50Mデフォルト
stdout_logfile_backups = 10;ログファイルのバックアップの数、デフォルトは10
 
エラーログ。
redirect_stderr = falseは、エラーモニタを禁止する場合はtrue 
stderr_logfileを= /ホーム/ Ubuntuの/ easyTest / celery_logs / celery_worker_err.log 
stderr_logfile_maxbytes = 10メガバイト
stderr_logfile_backups = 10 

[プログラム:celery.beat] 
;実行ディレクトリ指定し
たディレクトリ= /ホーム/ Ubuntuの/ EasyTest / 
;でのディレクトリの操作コマンド
コマンド=セロリeasyTestビート-A /home/ubuntu/EasyTest/celery_logs/celery_beat.log --logfile -l情報--loglevel情報を

、設定を開始
= 1 numprocsのを、プロセスの数
真の自動起動=;ときスーパーバイザ起動時に、プログラムが自動的に起動します
真の自動再=を、自動的に再起動し

、信号停止
stopsignal = INT

  起動とシャットダウン監督

    スーパーバイザを起動するには、次のコマンドを入力して、特定のプロファイルを使用して実行:

supervisord -c supervisord.conf

    スーパバイザコントローラで必要とされる閉じるsupervisord:

supervisorctl -c supervisord.confシャットダウン

    再起動は、スーパーバイザコントローラでもsupervisord:

supervisorctl -c supervisord.confリロード

10.django匿名ユーザーの制限。

  デコレーター@login_required

11.構成例外ページ403 404 500 400     https://zhuanlan.zhihu.com/p/38006919

12.gunicorn構成。

  コマンドを起動します。gunicorn -c gunicorn-config.py EasyTest.wsgi:アプリケーション

  gunicorn-config.py

#!は/ usr / binに/ envをPythonの
#コーディング= UTF-8 
のインポートがCPU_COUNTマルチプロセッシングから

バインドを= '127.0.0.1:9000' 
デーモン=真#デーモンの

労働者= CPU_COUNT()* 2 
worker_classの= 'gevent' 
forwarded_allow_ips =「* ' 

#が維持TCPリンク
キープアライブ= 6 
タイムアウト= 65 
graceful_timeout = 10 
worker_connections = 65535 

#ログ
capture_output =真
のLogLevel ='情報」
パスACCESSLOG = "/tmp/EasyTest_access.log" #アクセスログファイルの
エラーログ=「を/ tmp / EasyTest_error .logに"

 13.nginx構成。

  nginxのコマンドを起動します。sudoは/ usr / local / nginxの/ sbinに/ nginxの

  nginx.conf

#USERの誰もいません。
worker_processes 4; 

#error_logログ/ error.logに。
#error_logログ/ error.logに予告。
#error_logログ/ error.logに情報; 

PIDログ/ nginx.pid。
worker_rlimit_nofile 65535; 

イベント{ 
    使用するファイルディスクリプタ。
    上multi_accept; 
    worker_connections 10240; 
    } 


HTTP { 
    sendfileの上に、
    上TCP_NOPUSH; 
    上のTCP_NODELAY; 
    keepalive_timeout 65; 
    types_hash_max_size 2048; 
    mime.typesを含めます。
    default_type application / octet-streamと; 
    server_names_hash_bucket_size 128; 
    128Kをclient_header_buffer_size。
   
    LOG_FORMATメイン'$ REMOTE_ADDR - $ REMOTE_USER [$ time_local] "$依頼"' 
                      '$地位$ body_bytes_sent "$ HTTP_REFERER"' 
                     ' "$ HTTP_USER_AGENT" "$ HTTP_X_FORWARDED_FOR"'; 

    メインのaccess.log #access_logログ/。


    #のkeepalive_timeout 0; 

    gzipの上; 
    gzip_disable "msie6"。

    ;上のgzip_vary 
    いずれかをgzip_proxied。
    gzip_comp_level 6; 
    16 8K gzip_buffers。
    gzip_http_version 1.1; 
    gzip_typesテキスト/プレーンテキスト/ CSSのアプリケーション/ JSONアプリケーション/ X-javascriptのテキスト/ XMLアプリケーション/ XMLアプリケーション/ XML + RSSテキスト/ javascriptの、
	
    
    上流て、myApp { 
        サーバー127.0.0.1:9000; 
    }
    サーバー{ 
  	    ルートHTML。
        80を聞きます。
        SERVER_NAME 129.28.187.64; 

        #charset KOI8-R。
        文字セットUTF-8; 
       
        メイン/home/ubuntu/EasyTest/logs/access.logのaccess_log。
	error_logに/home/ubuntu/EasyTest/logs/error.log; 
      
	位置= /favicon.ico { 
            empty_gif。
            オフaccess_logの; 
        } 

        場所/メディア/ { 
            ルート/ホーム/ Ubuntuの/ EasyTest /。
            30dの有効期限が切れ; 
            オフaccess_logの; 
        } 

        場所/静的/ { 
            別名/ VAR /静的/静的/。
        } 
        場所/ { 
	    インデックスのindex.htmlのindex.htm。
            proxy_set_headerのX-転送さ-について$ proxy_add_x_forwarded_for。
            proxy_connect_timeout 300S; 
            proxy_send_timeout 300S; 
            proxy_read_timeout 300S; 
            オフproxy_redirect; 
            proxy_passます。http://て、myApp; 
        } 
    } 
}

  

おすすめ

転載: www.cnblogs.com/changqing8023/p/10958241.html