php call java 類別

php-java-bridge 介紹 php-java-bridge 載點 Files > Binary package > JavaBridgeTemplate621.war 我下載到的版本是JavaBridgeTemplate621.war 寫一個jar來做測試 # mkdir TestMath # cd TestMath # vi TestMath.java public class TestMath { private Integer num1; private Integer num2; public TestMath() { this.num1 = 0; this.num2 = 0; } public TestMath(Integer n1, Integer n2) { this.num1 = n1; this.num2 = n2; } public void setNum1(Integer n) { this.num1 = n; } public void setNum2(Integer n) { this.num2 = n; } public Integer plus() { return num1 + num2; } public Integer minus() { return num1 - num2; } } # javac TestMath....

December 21, 2016

GitLab 7.14升級8.X

簡介 上次安裝Gitlab大約將近一年前了,Gitlab也更新了很多功能,因此來著手進行一次升級,順便練習一下 recovery,以免意外發生時手忙腳亂. 目前版本:gitlab-ce-7.14.3-ce.1.el7.x86_64 預計更新版本:就更新到最新版吧目前是8.14.4 一開始傻傻的,想要把舊版本的backup檔,直接到8.X版本進行匯入, 很快的它就會告訴你版本不合了, 只好再用別的方式 後來我準備了兩台伺服器, 一台先安裝7.14.3 一台安裝最新版8.14.4 預計先將7.14.3的備份檔匯入第一台伺服器,之後進行升級, 然後因為個人有點龜毛,再用升級好機器備份出8.14.4版的備份檔, 來到全新的新版機器(8.14.4)再進行匯入 流程 舊機器 7.14.3 備份 1. 備份backup檔 在原本的機器上下指令備份gitlab資料 # gitlab-rake gitlab:backup:create 新機器版本 7.14.3 這台機器要先裝好 7.14.3,匯入備份檔,再用 yum 更新到 8.14.4。 1.安裝 我自己都用Omnibus 所以就先把Omnibus(gitlab-ce-7.14.3-ce.1.el7.x86_64)裝起來吧 gitlab 官網有美美的教學,自己來吧 其中有遇到一個問題是gitlab-ctl reconfigure時會停在[supervise_redis_sleep] # sudo /opt/gitlab/embedded/bin/runsvdir-start & # sudo gitlab-ctl reconfigure Ref: Freeze on ruby_block[supervise_redis_sleep] action run 2. 匯入backup檔 我將backup檔copy到新伺服器的備份目錄下,執行recovery時,程序會自動將檔案recovery回去 mv to /var/opt/gitlab/backups/ 3.開始前先停止相關數據服務連線 # gitlab-ctl stop unicorn # gitlab-ctl stop sidekiq 4.從1393513186編號備份中復原(看你的檔案編號是啥鬼) # gitlab-rake gitlab:backup:restore BACKUP=1393513186...

December 8, 2016

利用 adjtimex 來修正 linux 時間偏差

前言: 前幾天使用virtualbox安裝了一台CentOS7的虛擬機器,卻發現時間一直偏差,因此特意抓了時間下來做比對,發現大約每分鐘就會差一秒, 使用虛擬機主客時間同步沒什麼效果,再考慮使用ntp來做時間校正,但因為偏差值太大,不希望校正後時間紀錄失真, 最後採用linux本身時間糾偏的方式 主機OS是CentOS7,因為yum無法直接安裝所以找了source code自行安裝(感謝神同事Leo協助突破盲腸) 下載下來後選定一個版本後即可開始安裝 GITHUB - adjtimex ./configure make make install 先了解時間差 adjtimex --compare 或 # adjtimex -c 圖中每一筆紀錄是每10秒的週期,系統有一個對tick和freq的推薦值,可以用這個對系統進行校正. 這邊我的-t校正值是9859 adjtimex --tick 9859 再檢視一次 adjtimex -c 這邊還有約-0.8的偏差,但其實已經相當接近,要修正更精密的差距必須用-f參數 公式 f = 差值 * 100000 * 65536 或 f = error_ppm平均值 * 65536 這裡 = 250 * 65536 = 16384000 這邊我的-f校正值是16384000 adjtimex -f 16384000

November 4, 2016

Yum Zabbix server, agent

安裝相應的 RPM 檔啟用 Zabbix Repository RHEL 7, CentOS 7 rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm RHEL 6, CentOS 6 rpm -Uvh http://repo.zabbix.com/zabbix/2.2/rhel/6/x86_64/zabbix-release-2.2-1.el6.noarch.rpm zabbix-server 由於 Zabbix 是基於 PHP 及 MySQL 開發, 需要先安裝 LAMP 環境 php 使用模組 yum install php70w-bcmath php70w-mbstring php70w-mysql php70w-gd php70w-ldap php70w-pdo php70w-process php70w-pear php70w-xml php70w-xmlrpc 開始安裝 YUM 安裝 Zabbix 及相關套件 yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway 建立 zabbix 帳號及資料庫 mysql> CREATE SCHEMA zabbix DEFAULT CHARACTER SET utf8 ; mysql> GRANT ALL PRIVILEGES on zabbix....

October 27, 2016

bind make安裝搭配 dlz mysql

Bind-dlz 簡介 BIND從文本文件中獲取數據,這樣容易因為編輯錯誤出現問題。 BIND需要將數據載入到內存中,如果域或者記錄較多,會消耗大量的內存。 BIND啟動時解析Zone文件,對於一個記錄較多的DNS來說,會耽誤更多的時間。 如果最近修改一條記錄,那麼要重新載入或者重啟BIND才能生效,可能會影響客戶端查詢。 bind-dlz主要解決上述缺陷而誕生,在mysql存儲zone的記錄,比在文本中好管理的多。 DLZ算是bind的好朋友,用了DLZ後,這些zone記錄可以直接存到資料庫(mysql PostgreSQL等)並且是立即生效 Reference 智能DNS(Bind dlz)在企業中的應用 Bind 安裝 (MySQL篇) bind9 默認不支援 dlz 需要在編譯時加上 with (看你搭配什麼資料庫) –with-dlz-mysql –with-dlz-postgres 前置作業 一、到官網或FTP站下載安裝檔 Bind官網 FTP站 二、安裝MySQL資料庫 開始安裝 1. 防火牆設定(開啟 53 port) iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 53 -j ACCEPT -A INPUT -p udp -m state --state NEW -m udp --dport 53 -j ACCEPT service iptables save service iptables restart 2. 移除舊有的bind安裝 rpm -qa | grep "^bind"...

October 17, 2016

CentOS yum 安裝 bind9

安裝 yum install bind bind-utils -y service named start chkconfig named on 防火牆設定 iptables -I INPUT 5 -m state --state NEW -m tcp -p tcp --dport 53 -j ACCEPT iptables -I INPUT 5 -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT service iptables save service iptables restart 設定 預設 nemed.conf 檔 (BIND 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6) 以下為 yum 安裝後產生的預設 named.conf 設定檔 options { listen-on port 53 { 127.0.0.1; }; listen-on-v6 port 53 { ::1; }; directory "/var/named"; dump-file "/var/named/data/cache_dump....

October 4, 2016

HP ProLiant DL20 Gen9 CentOS7 安裝讀不到Raid卡解決方式

原生的 CentOS iso 檔無法讀到機器的 Raid 卡,需要自行下載驅動來安裝. 首先必須先準備CentOS7的安裝檔,並且下載相對應的驅動,方法如下 [RECOMMENDED] HP ProLiant Smart Array 控制器 (AMD64/EM64T) 驅動程式磁碟(適用於 Red Hat Enterprise Linux 7 (AMD64/EM64T)) hpsa-3.4.10-120.rhel7u0.x86_64.dd.gz « CentOS 7 hpsa-3.4.10-120.rhel7u1.x86_64.dd.gz « CentOS 7.1 CentOS 7版本說明 RHEL 版本 版本 CentOS 7 7-1406 CentOS 7.1 7-1503 CentOS 7.2 7-1511 Wiki - CentOS版本說明 Installation: 在類似 Linux 的作業系統下建立驅動程式更新 USB 隨身碟: 將 hpsa-..x86_64.dd.gz 檔案儲存至暫存目錄。使用 GUNZIP 將此檔案中的 hpsa-..x86_64.dd 解壓縮至同一目錄。 插入 USB 隨身碟。若已自動掛載 USB 隨身碟,請卸載 USB 隨身碟。 寫入 hpsa-..x86_64.dd 檔案至 USB 隨身碟裝置。(不包括 USB 隨身碟是 /dev/sdc) dd if=hpsa-....

September 29, 2016