ubuntu 16.04 部署sentry

sentry 部署

一 準(zhǔn)備:機器及域名

? ? ? * 機器: 阿里云ecs

? ? ? * 域名:sentry.domain.com? ?

二: 基礎(chǔ)環(huán)境安裝

* 安裝 node version>=8.0

? ?? curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -

? ? ?apt-get install -y nodejs

* ?安裝依賴庫

?apt-get install -y python-virtualenv python-setuptools gcc?python-dev libxslt1-dev ?libffi-dev libjpeg-dev?libxml2-dev libxslt-dev libyaml-dev

?apt-get install -y?postgresql-server-dev-9.5 supervisor?postgresql redis-server nginx

* ?添加用戶

sudo useradd -m sentry

* ?初始化數(shù)據(jù)庫

sudo su - postgres

psql template1

create extension citext;

create user sentry with password 'sentry';

create database sentrydb with owner sentry;

\q

exit


* 初始化sentry

?sudo su - sentry

virtualenv /opt/sentry

source /opt/sentry/bin/activate

pip install -U sentry

?sentry init

* ?配置 sentry

vim /home/sentry/.sentry/sentry.conf.py

DATABASES = {

? ? 'default': {

? ? ? ? 'ENGINE': 'sentry.db.postgres',

? ? ? ? 'NAME': 'sentrydb',

? ? ? ? 'USER': 'sentry',

? ? ? ? 'PASSWORD': 'sentry', # <-- or whatever you set with the psql command

? ? ? ? 'HOST': 'localhost',

? ? ? ? 'PORT': '5432',

? ? }

}

* sentry upgrade 設(shè)置管理員賬戶

* 設(shè)置sentry 守護進程

vim /etc/supervisor/conf.d/sentry.conf

[program:sentry-web]

directory=/opt/sentry/

environment=SENTRY_CONF="/home/sentry/.sentry"

command=/opt/sentry/bin/sentry run web

autostart=true

autorestart=true

redirect_stderr=true

user=sentry

stdout_logfile=syslog

stderr_logfile=syslog

[program:sentry-worker]

directory=/opt/sentry/

environment=SENTRY_CONF="/home/sentry/.sentry"

command=/opt/sentry/bin/sentry run worker

autostart=true

autorestart=true

redirect_stderr=true

user=sentry

stdout_logfile=syslog

stderr_logfile=syslog

[program:sentry-cron]

directory=/opt/sentry/

environment=SENTRY_CONF="/home/sentry/.sentry"

command=/opt/sentry/bin/sentry run cron

autostart=true

autorestart=true

redirect_stderr=true

stdout_logfile=syslog

stderr_logfile=syslog

* ?使用nginx代理(啟用ssl)

a: ?編輯/home/sentry/.sentry/sentry.conf.py 啟用以下部分

SECURE_PROXY_SSL_HEADER = ('HTTP_X_FORWARDED_PROTO', 'https')

SESSION_COOKIE_SECURE = True

CSRF_COOKIE_SECURE = True

b: ?編輯/etc/nginx/conf.d/sentry.conf

upstream sentry {

? ? server localhost:9000 weight=9;

}

server {

? ? listen? ? ? 443 ssl;

? ? server_name? sentry.domain.com;

? ? client_max_body_size 50M;

? ? client_body_buffer_size 256k;

? ? ssl on;

? ? ssl_certificate? ? /etc/nginx/ssl/xxxx.pem;

? ? ssl_certificate_key /etc/nginx/ssl/xxxx.key;

? ? ssl_session_timeout 5m;

? ? ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;

? ? ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

? ? ssl_prefer_server_ciphers on;

? ? access_log? /var/log/nginx/sentry.access.log;

? ? error_log? /var/log/nginx/sentry.error.log;

? ? proxy_set_header? Host? ? ? ? ? ? ? ? $http_host;

? ? proxy_set_header? X-Forwarded-Proto? ? $scheme;

? ? proxy_set_header? X-Forwarded-For? ? ? $remote_addr;

? ? proxy_redirect? ? off;

? ? location / {

? ? ? ? proxy_pass http://sentry;

? ? ? ? proxy_redirect? off;

? ? ? ? proxy_set_header? Host? ? ? ? ? ? ? $host;

? ? ? ? proxy_set_header? X-Forwarded-For? $proxy_add_x_forwarded_for;

? ? ? ? proxy_set_header? X-Forwarded-Proto $scheme;

? ? ? ? add_header Strict-Transport-Security "max-age=31536000";

? ? }

}

server {

? ? listen? 80;

? ? server_name sentry.domain.com;

? ? client_max_body_size 50M;

? ? location / {

? ? ? if ($request_method = GET) {

? ? ? ? rewrite? ^ https://$host$request_uri? permanent;

? ? ? }

? ? ? return 405;

? ? }

}

* 訪問sentry https://sentry.domain.com

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容