日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

sentry部署整理

發(fā)布時間:2023/12/29 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sentry部署整理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

2019獨角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>

#依賴:

  • redis
  • postgresql
  • python
  • sentry是python開發(fā)的一個應(yīng)用,使用python uWSG框架運行,所有安裝完sentry要記得在nginx的代理上禁用掉/admin路徑,不然uwsg的后臺管理入口就泄漏了 具體的安裝資料地址為:

    https://docs.sentry.io/server/installation/ #redis的啟動 su - redis redis-server /etc/redis.conf

    #postgresql因為是項目遷移,用的9.6版本,所以需要yum自己安裝一下

    systemctl restart postgresql-9.6 #使用的材料地址 https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7.2-x86_64/repodata/repomd.xml https://www.postgresql.org/download/linux/redhat/

    db準(zhǔn)備好之后要先初始化

    postgresql-setup initdb /usr/pgsql-9.6/bin下也會有一個專用的命令 /usr/pgsql-9.6/bin/initdb -D /data/www/db 可以這樣去指定一個目錄來進行初始化

    redis和pgsql都要要各自對用的用戶來進行操作,pgsql的默認(rèn)用戶是postgres

    初始化完成之后要注意兩個文件: postgresql.conf #相當(dāng)于mysql的my.cnf配置文件 pg_hba.conf #用戶遠(yuǎn)程訪問控制配置文件,這個文件弄不好,pgsql無法遠(yuǎn)程連接

    pgsql的用戶創(chuàng)建

    CREATE USER dbuser WITH PASSWORD 'password'; #創(chuàng)建用戶dbuser并設(shè)置密碼 CREATE DATABASE sentry OWNER dbuser; #創(chuàng)建庫sentry并指定擁有者給dbuser GRANT ALL PRIVILEGES ON DATABASE sentry TO dbuser; #授權(quán)dbuser可以對sentry庫進行任何操作 修改密碼的語句 alter user dbuser with password 'password';

    pgsql登錄好坑爹的,要先切到postgers用戶,然后再運行pgsql(我的不知道為什么叫psql) 送一個pgsql的數(shù)據(jù)導(dǎo)入和導(dǎo)出操作語句

    導(dǎo)出DB數(shù)據(jù)到file文件 pg_dump -h $host -p $port sentry -W > file 從file導(dǎo)入數(shù)據(jù)到DB psql -U dbuser -h $yourhost -p $port -W -d sentry -f file

    #redis和DB做好之后下來安裝sentry 最直接的辦法是用pip進行安裝 可以指定版本

    pip install sentry==your-version

    安裝前的依賴

    yum install python-setuptools python-devel libxslt1-devel gcc libffi-devel libjpeg-devel libxml2-devel libxslt-devel libyaml-devel libpqxx-devel

    pip的安裝

    wget https://bootstrap.pypa.io/get-pip.py python get-pip.py

    安裝好之后可以這樣查看sentry的版本

    sentry --version sentry --help #查看所有支持的命令

    #啟動sentry sentry要啟動有三個東西,web worker cron,據(jù)說是缺一不可,不過我看可以先啟動web,后面兩個補上就行了

    啟動的方式:

    sentry run web sentry run worker sentry run cron

    but,在啟動之前需要先生產(chǎn)sentry的配置文件,也就是文檔上說的初始化

    sentry init sentry upgrade

    運行之后會在當(dāng)前目錄造出來兩個文件 config.yml
    sentry.conf.py upgrade 命令用來在pgsql創(chuàng)建所需的表

    根據(jù)自己的配置填好redis和pgsql的地址和密碼就可以run web了

    [Unit] Description=Sentry Main Service After=network.target[Service] Type=simple User=sentry Group=sentry WorkingDirectory=/data/www/sentry Environment=SENTRY_CONF=/etc/sentry ExecStart=/usr/bin/sentry run web[Install] WantedBy=multi-user.targe

    啟動sentry.service,可以放systemd進行服務(wù)的啟動

    另外要注意盡量新創(chuàng)建一個sentry帳號,啟動服務(wù)的使用用指定的普通帳號

    關(guān)于nginx的配置,nginx代理服務(wù)到sentry會更加靈活一點

    server {listen 80;server_name sentry.com;access_log /logs/nginx/sentry_access.log main;error_log /logs/nginx/sentry_error.log;return 301 https://$server_name$request_uri;}server {listen 443 ssl;server_name sentry.com;access_log /logs/nginx/sentry_access.log main;error_log /logs/nginx/sentry_error.log;ssl_certificate /etc/nginx/ca/sentry.cer;ssl_certificate_key /etc/nginx/ca/sentry.key;ssl_protocols TLSv1 TLSv1.1 TLSv1.2;ssl_ciphers ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:ECDH+3DES:DH+3DES:RSA+AESGCM:RSA+AES:RSA+3DES:!aNULL:!MD5:!DSS;ssl_prefer_server_ciphers on;ssl_session_cache shared:SSL:128m;ssl_session_timeout 10m;proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Proto $scheme;proxy_set_header X-Forwarded-For $remote_addr;proxy_redirect off;keepalive_timeout 0;proxy_read_timeout 5s;proxy_send_timeout 5s;send_timeout 5s;resolver_timeout 5s;client_body_timeout 5s;client_max_body_size 5m;client_body_buffer_size 100k;location /admin/ {deny all;}location / {proxy_pass http://localhost:$sentry-port;add_header Strict-Transport-Security "max-age=31526000";}location ^~ /auth/login/ {allow $your-ip-address; deny all;proxy_pass http://localhost:$sentry-port/auth/login/;add_header Strict-Transport-Security "max-age=31536000";} }

    #關(guān)于錯誤

    Please wait while we load an obnoxious amount of JavaScript.You may need to disable adblocking extensions to load Sentry.

    這個錯誤找了好多資料 有一個說是要執(zhí)行sentry django collectstatic,生成static的相關(guān)文件 反正核心的意思是js和css靜態(tài)資源無法加載,這個如果找不到文件,就上面的辦法生成一下,如果能找到,考慮static的訪問權(quán)限問題,nginx用的是nobody用戶,sentry是sentry用戶,中間的tmp文件和static文件,應(yīng)該多多少少都會碰到權(quán)限問題。

    sentry repair

    這個命令很實用,可以修復(fù)一些簡單的數(shù)據(jù)錯誤,但是也有可能修復(fù)不了

    還有一個遺留的問題,sentry數(shù)據(jù)遷移之后,啟動的新實例中老數(shù)據(jù)會丟失,不知道是怎么回事

    轉(zhuǎn)載于:https://my.oschina.net/xueyi28/blog/1649187

    總結(jié)

    以上是生活随笔為你收集整理的sentry部署整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。