建立maven及docker private repositories

使用docker images sonatype/nexus3來快速建立環境,nexus3是opensource,可自行編譯使用。不過有部份外掛套件是需要付費使用的,像是Azure Blob Storage,此時可以選擇付費使用Nexus3 pro版本。

建立docker-compose.yml (記得建立一個nexus-data目錄來存放blob資料)

version: "3.5"

services:
  mariadb:
    container_name: nexus3
    image: sonatype/nexus3
    environment:
      TZ: Asia/Taipei
    ports:
      - "127.0.0.1:8081:8081"
    volumes:
      - ./nexus-data:/nexus-data
    restart: unless-stopped
    logging:
      options:
        max-size: 512M
#    deploy:
#      resources:
#        limits:
          #cpus: '0.50'
#          memory: 1024M

啟動docker

sudo docker-compose up -d 

設定virtualhost來對應Nexus3服務

<VirtualHost *:80> 
        ServerName nexus3.yourdomain 
        ProxyRequests off 
        ProxyPreserveHost On 
        ProxyPass "/" "http://127.0.0.1:8081/" 
        ProxyPassReverse "/" "http://127.0.0.1:8081/" 
</VirtualHost> 

取得admin預設密碼,來登入設定

nano nexus-data/admin.password

新增repository

選擇新增一個maven host及docker host

Read More

Centos 7 Apache加Brotli網頁壓縮技術

Brotli跟GZIP一樣是一種網頁的壓縮技術,可以用來壓縮javascript , css ,html 等,減少流量使用並增加率加載速度。

Brotli比GZIP壓縮效率更好,壓縮速度也比較快,十分建議使用。

# 安裝需要的套件,當套件更新,可能需要重新編譯,否則可能無法啟動apache
yum -y install libtool automake httpd-devel
 
# git clone 最後一次 commit,且連同 子模組 一起 clone 回來
git clone --depth=1 --recursive https://github.com/kjdev/apache-mod-brotli.git
cd apache-mod-brotli
./autogen.sh
./configure
make
# 編譯完成
 
# 安裝
install -p -m 755 -D .libs/mod_brotli.so /etc/httpd/modules/mod_brotli.so

編譯好後再來需要設定,需放在<ifModule mod_deflate.c>前面,如此才可優先使用Brotli。

Read More

Apache常用指令

一些apache在linux上常用到的指令整理

ubuntu 使用apache2ctl或apachectl

centos 使用httpd

查詢apache(httpd)版本

httpd -V

查看所用模組

httpd -M

查看所有VirtuslHost網址及設定所在位置

httpd -S

Java寄送電子郵件-使用gmail帳號

JavaMail是個歷史悠久的寄送電子郵件Email套件,由Sun公司所開發(Oracle),因為電子郵件數年來並沒有多大的改變,所以一直都是十分方便的一個套件,使用方法可參考Java程式Mail、EDM(電子型錄)寄送這篇。

而現在有了另一個framework,是由Apache組職所提供的開放原始碼套件Apache Commons email,使用上更為簡單,而且支援度也很高,像是gmail要使用javamail來寄送,就需要設定繁雜的Sectury項目,而Apache commons email就顯的簡單許多,底下的範例就是使用gmail的smtp.gmail.com來當SMTP服務寄送信件的,我把它應用在之前的留言板,當有人留言時,就可以馬上接到信件的通知。

留言板存檔後寄信

Read More

Centos 7安裝php-fpm及使用mpm event

mpm要修改成event模式時,在預設狀況下修改apache的config 重啟apache會有錯誤

#LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
LoadModule mpm_event_module modules/mod_mpm_event.so
Syntax error on line 31 of /etc/httpd/conf.d/php.conf: event

參考資料Apache的三种MPM模式比较:prefork,worker,event

ps.怎麼知道目前apache是什麼模式呢?可以輸入

httpd -V

Server MPM:event

httpd-V
Read More