使用logrotate分割tomcat catalina.out

每天自動分割catalina.out檔,免得太大變成無法開啟的log檔

sudo nano /etc/logrotate.d/tomcat
#tomcat 可以自己取
/opt/tomcat/logs/catalina.out{
copytruncate
daily
rotate 30
missingok
compress
size 16M
}

設定檔說明:

  • /opt/tomcat/logs/catalina.out log檔位置
  • daily – 每日分割
  • rotate – 最多保留30個文件(30天?)
  • compress – 壓縮文件
  • size – 當catalin.out大於16M時分割文件

手動執行方法

 /usr/sbin/logrotate /etc/logrotate.conf

建立Centos主機幾個建議

安裝fail2ban

sudo yum install epel-release
sudo yum install fail2ban

編輯設定

sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
filter  = sshd
port    = 22
action = %(action_mwl)s
logpath = /var/log/secure
banaction = firewallcmd-ipset

啟動及查看狀態

sudo systemctl start fail2ban
sudo systemctl enable fail2ban
sudo fail2ban-client status
sudo fail2ban-client status sshd

可參考

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

自行complie mod_jk

apache mod_jk本身並沒有提供binary版本,所以需要自行make及install,最近版本是JK 1.2.46

首先先下載source,選擇linux可用的版本tar.gz

cd /tmp
wget http://ftp.tc.edu.tw/pub/Apache/tomcat/tomcat-connectors/jk/tomcat-connectors-1.2.46-src.tar.gz
tar -zxvf tomcat-connectors-1.2.46-src.tar.gz

安裝編譯必需lib

sudo yum -y install gcc automake autoconf libtool make
sudo yum -y install httpd-devel
sudo yum -y install redhat-rpm-config

編譯及安裝

cd /tmp/tomcat-connectors-1.2.46-src/native
./configure --with-apxs=/usr/bin/apxs
sudo make
sudo make install

可以在/etc/httpd/modules看到剛才編譯好的mod_jk.so

Mac Windows 使用 openvpn client 連線SQL Server參考資料

預設已經Linux環境安裝了OPENVPN及Microsoft SQL Server

SQL Server可以參考Docker的安裝方式

sudo docker run --name mssql --restart unless-stopped -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Admin12345!' -e 'MSSQL_PID=Developer' -p 127.0.0.1:1433:1433 -p 10.8.0.1:1433:1433    -v /opt/database/:/var/opt/mssql -d 'microsoft/mssql-server-linux:2017-latest'

OPENVPN可以參考這篇如何在Centos 7安裝openVPN

(easy-rsa因為版本不一樣,在設定上可能不太一樣了)

OPENVPN Client

SQL Client