Linux 設定修改時區

Linux 上時間分成兩個部分, Universal Time 與 Local Time, Universal Time 一直會維持為 UTC 時間, 而 Local Time 則是使用者所在的時區時間, 通常我們在安裝 Linux 的時候就會完成時區的設定, 但是在 Cloud 上預設都維持在 UTC +0 時區, 當我們機房跨足不同時區時可能會有同步的問題, 因此正確的設定時區是非常重要的.

檢查時區

當主機還沒有設定時區時, 輸入指令 date 系統返回的時間會是 UTC, 若主機已經有設定時區 UTC 會變成其他時區

$ date
Sat Jun 17 15:28:00 UTC 2017

設定時區

我們可以透過以下指令進行時區設定

sudo dpkg-reconfigure tzdata

系統會跳出視窗要求你選擇所在的地理區

接著選擇時區

當設定完成後, 系統會顯示目前的設定

Current default time zone: 'Asia/Taipei'
Local time is now:      Sat Jun 17 23:51:12 CST 2017.
Universal Time is now:  Sat Jun 17 15:51:12 UTC 2017.

指令 date 所顯示的時間變成帶有時區的時間了!

Sat Jun 17 23:51:55 CST 2017

這樣一來就完成時區的設定了, 若要修改時區只要把上面的步驟在做一次就可以了.

Glances – 超強大資源使用監視工具

只要說到伺服器的資源監視想到的不外乎就是 top 與 進階版的htop, 今天要介紹一個更厲害的資源使用監視工具 Glances.

Glances 是一套使用 python 構成的資源監視工具, 除了基本的資源監視外還提供了 Web 介面以及遠端查看的功能.

Requirements

Python > 2.7, >= 3.3
psutil>=2.0.0

Installation

使用 pip 安裝

pip install glances

使用 shell script 安裝

curl -L https://bit.ly/glances | /bin/bash

Usage

基本使用

就跟 top 一樣, 直接在畫面上顯示資訊

glances

啟動 Web 介面

Glances 可以提供 web 介面, 但在使用前要補安裝相依套件 bootle

pip install bottle

接著啟動

glances -w

接著就可以使用喜歡的瀏覽器訪問 http://127.0.0.1:61208

遠端模式

server 模式

glances -s

client 連接

glances -c ip

Access Control

預設模式下 Glances 是免帳密驗證的, 但是為了安全起見我們還是設定一組帳號進行驗證
加入驗證的方法很簡單, 只需要帶入參數 --username--password

glances -s --username  --password

Glances 便會在啟動過程確認要設置的帳號密碼

Define the Glances server username: keniver
Define the Glances server password (keniver username):
Password (confirm):

最後, Glances 會詢問是否紀錄帳號與密碼, 之後啟動就不會再詢問了

Do you want to save the password? [Yes/No]:

當我們為 Glances 啟動驗證後, 我們連線時需要帶入 --username , --password, 並輸入先前設定的密碼才能連線

在 Debian 8 上安裝 Nginx + PHP7-FPM

Nginx 在 Web Server 領域有著極為優異的表現, 如果搭配 PHP-FPM 可以讓網站的速度更上一層樓, 本篇文章將與各位分享如何在 Debian 8 上安裝 Nginx 與 PHP-FPM

環境資訊

Debian 8 (Jessie) 請注意OS版本, 本文針對 Debian 8 做說明
Nginx 1.6.2
PHP 7.0

安裝 nginx

sudo apt-get install nginx -y

安裝 PHP7-FPM

本文章為濃縮版, 指令細節可以參考 在 Debian 8 (Jessie) 上安裝 Apache + PHP 7

echo "deb http://mirrors.teraren.com/dotdeb/ stable all" | sudo tee --append /etc/apt/sources.list
echo "deb-src http://mirrors.teraren.com/dotdeb/ stable all" | sudo tee --append /etc/apt/sources.list
wget -qO - https://www.dotdeb.org/dotdeb.gpg | sudo apt-key add -
sudo apt-get update && sudo apt-get upgrade -y
sudo apt-get install php7.0-fpm php7.0-common -y
sudo apt-get install php7.0-zip php7.0-mysql php7.0-mcrypt php7.0-mbstring php7.0-json php7.0-imagick php7.0-gmp php7.0-curl php7.0-dom php7.0-gd -y

調整 PHP-FPM 設定

我們必須調整 php 的設定, 使得 php 更加安全

sudo vim /etc/php/7.0/fpm/php.ini

將本來由 ;註解掉的設定

;cgi.fix_pathinfo=1

修改為

cgi.fix_pathinfo=0

重新啟動 PHP-FPM

sudo systemctl restart php7.0-fpm

連接 Nginx 與 PHP

sudo vim /etc/nginx/sites-available/default

將下方設定檔寫入其中

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;
    index index.html index.htm index.php index.nginx-debian.html;

    server_name _;

    location / {
        try_files $uri $uri/ =404;
    }

        location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
    }
}

重新啟動 Nginx

sudo systemctl restart nginx

測試

將測試用檔案寫入 Nginx 預設目錄

echo "<?php phpinfo();" | sudo tee /var/www/html/info.php

打開瀏覽器前往 http://你的IP/info.php


當你看到這個畫面就代表PHP成功運行, 紅框的部分顯示 FPM/FastCGI 代表我們的 PHP 確實是使用 PHP-FPM 模式運行

由於 phpinfo 會透露很多詳細資訊, 為了安全起見, 欣賞完畢要順手把 info.php 刪除

sudo rm /var/www/html/info.php

在 Debian 8 上安裝 MariaDB 10.1

MariaDB 是 MySQL 的移植版本, 不僅保有 MySQL 原本的功能, 也新增很多 MariaDB 獨有的功能, 使用上相容於 MySQL 函數庫以及相關工具, 是非常棒的MySQL替代品, 本文章將介紹如何透過 apt-get 將 MariaDB 10.1 安裝在我們的 Debian 8 主機上

新增 MariaDB 官方套件庫

sudo apt-get install software-properties-common -y
sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db
sudo add-apt-repository 'deb [arch=amd64,i386,ppc64el] http://ftp.ubuntu-tw.org/mirror/mariadb/repo/10.1/debian jessie main'

在 IPv6 的環境下, 第二行指令可能會連線失敗, 改用 IPv4 連線就可以解決這個問題

更新套件庫

sudo apt-get update

安裝 MariaDB

sudo apt-get install mariadb-server -y

設定 MariaDB Root 密碼

安裝過程會詢問 root 密碼, 連續輸入兩次即可

啟動 MariaDB

sudo service mysql start

強化 MariaDB 安全性

mysql_secure_installation

依照提示回答下列問題

Enter current password for root (enter for none): 輸入 root 密碼

Change the root password? [Y/n] n
安裝時已經設定過 root 密碼, 因此無須更換 root 密碼

Remove anonymous users? [Y/n] Y
移除匿名使用者

Disallow root login remotely? [Y/n] Y
禁止 root 遠端登入

Remove test database and access to it? [Y/n] Y
移除多餘不必要的資料庫

Reload privilege tables now? [Y/n] Y
立刻重新載入權限表

測試

我們可以透過以下指令嘗試連接資料庫

mysql -u root -p

輸入 root 密碼後 按下 enter, 若畫面出現 Welcome to the MariaDB monitor. Commands end with ; or \g. 就代表我們成功安裝了 MariaDB 到我們的 Debian 主機上

控制 MariaDB

啟動

sudo service mysql start

停止

sudo service mysql stop

重新啟動

sudo service mysql restart