sentry部署整理
2019獨(dú)角獸企業(yè)重金招聘Python工程師標(biāo)準(zhǔn)>>>
#依賴:
sentry是python開發(fā)的一個應(yīng)用,使用python uWSG框架運(yùn)行,所有安裝完sentry要記得在nginx的代理上禁用掉/admin路徑,不然uwsg的后臺管理入口就泄漏了 具體的安裝資料地址為:
https://docs.sentry.io/server/installation/ #redis的啟動 su - redis redis-server /etc/redis.conf#postgresql因?yàn)槭琼?xiàng)目遷移,用的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 可以這樣去指定一個目錄來進(jìn)行初始化redis和pgsql都要要各自對用的用戶來進(jìn)行操作,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庫進(jìn)行任何操作 修改密碼的語句 alter user dbuser with password 'password';pgsql登錄好坑爹的,要先切到postgers用戶,然后再運(yùn)行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進(jìn)行安裝 可以指定版本
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-develpip的安裝
wget https://bootstrap.pypa.io/get-pip.py python get-pip.py安裝好之后可以這樣查看sentry的版本
sentry --version sentry --help #查看所有支持的命令#啟動sentry sentry要啟動有三個東西,web worker cron,據(jù)說是缺一不可,不過我看可以先啟動web,后面兩個補(bǔ)上就行了
啟動的方式:
sentry run web sentry run worker sentry run cronbut,在啟動之前需要先生產(chǎn)sentry的配置文件,也就是文檔上說的初始化
sentry init sentry upgrade運(yùn)行之后會在當(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進(jìn)行服務(wù)的啟動
另外要注意盡量新創(chuàng)建一個sentry帳號,啟動服務(wù)的使用用指定的普通帳號
關(guān)于nginx的配置,nginx代理服務(wù)到sentry會更加靈活一點(diǎn)
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這個命令很實(shí)用,可以修復(fù)一些簡單的數(shù)據(jù)錯誤,但是也有可能修復(fù)不了
還有一個遺留的問題,sentry數(shù)據(jù)遷移之后,啟動的新實(shí)例中老數(shù)據(jù)會丟失,不知道是怎么回事
轉(zhuǎn)載于:https://my.oschina.net/xueyi28/blog/1649187
總結(jié)
以上是生活随笔為你收集整理的sentry部署整理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: rfid资产管理系统的优势
- 下一篇: 英语小难点集合
