洞悉本質在不確定的世界預見未來
日記

LNMP服務器配置參數詳解

LNMP是當前極為流行的搭建動態網站的開源服務器軟件系統,擁有良好的穩定性及兼容性。LNMP(Linux + Nginx + MariaDB/MySQL + PHP)安裝配置相對簡單、低系統資源等等。

因不經常配置服務器,總是忘記,衹好從網絡中尋上一些相關配置參數詳解,用來參考:

服務器优化

  • 合理安排資源、調整系統參數使服務器運行更快、更節省資源。
  • 優化是多方面的,包括查詢、更新、服務器等。
  • 原則:進行系統安全加固、內核調優,減少系統瓶頸,減少資源佔用,增加系統的反應速度。

例如:

MariaDB數據庫安裝后的安全加固和性能優化

1、MariaDB的安全加固

運行mysql_secure_installation腳本以解決默認MariaDB安裝中的幾個安全問題:

  1. 為數據庫root用戶設置及修改密碼
  2. 禁止匿名用戶登錄
  3. 禁止本地主機localhost之外的root用戶遠程訪問
  4. 刪除測試數據庫,默認情況下,匿名用戶可以訪問該數據庫。

建議您對這些選項回答yes。

# mysql_secure_installation 

注意:建議對所有MariaDB運行此腳本的所有部分服務器在生產中使用!
請仔細閱讀每個步驟!

為了登錄MariaDB進行保護,我們需要最新的root用戶的密碼。
如果您剛剛安裝了MariaDB,並且
您尚未設置root密碼,密碼為空白,因此您只需在此處按Enter。

輸入root用戶的當前密碼(不輸入密碼): 
OK,成功使用密碼,繼續...

設置root密碼可確保沒有人可以登錄MariaDB
沒有適當授權的root用戶。

您已經設置了root密碼,因此可以安全地回答“ n”。

更改root密碼?[是/否] n
 ...跳過。

默認情況下,MariaDB安裝具有匿名用戶,允許任何人登錄到MariaDB,
而無需創建用戶帳戶。這僅用於測試和進行安裝,
安全一點您應該先將它們移除,然後再移入生產環境。

刪除匿名用戶?[Y / n] y
 ...成功!

通常,僅應允許root從'localhost'連接。
這個確保某人無法猜測來自網絡的root密碼。

禁止遠程root登錄?[Y / n] y
 ...成功!

默認情況下,MariaDB帶有一個名為“ test”的數據庫,
任何人都可以訪問。這也僅用於測試,應在進入生產環境之前刪除。

刪除測試數據庫並訪問它?[Y / n] y
 -刪除測試數據庫...
 ...成功!
 -刪除測試數據庫的權限...
 ...成功!

重新加載特權表將確保到目前為止所做的所有更改將立即生效。

現在重新加載特權表?[Y / n] y
 ...成功!

打掃乾淨...

全做完了!如果完成了上述所有步驟,
那麼您的MariaDB現在安裝應該是安全的。

感謝您使用MariaDB!

2、MariaDB性能優化

1) 最簡單、最方便的MariaDB性能優化技巧,就是使用 MySQLTuner工具,然後參考 MariaDB 配置文件my.cnf文件詳解 對其中的參數進行修改。

$ sudo apt install mysqltuner
$ sudo mysqltuner
 >>  MySQLTuner 1.6.18 - Major Hayden <major@mhtx.net>
 >>  Bug reports, feature requests, and downloads 
     at http://mysqltuner.com/
 >>  Run with '--help' for additional options
     and output filtering

[--] Skipped version check for MySQLTuner script

……

[--]
 
-------- Recommendations 建議 ----------------------------
General recommendations 一般建議:
    Configure your accounts with ip or subnets only,then 
    僅使用IP或子網配置您的帳戶,
    update your configuration with skip-name-resolve=1
    然後使用 skip-name-resolve = 1 更新您的配置
    Increase table_open_cache gradually to avoid file
    descriptor limits
    逐漸增加 table_open_cache 以避免文件描述符限制
    Read this before increasing table_open_cache
     over 64: http://bit.ly/1mi7c4C
    增加 table_open_cache 超過64之前請閱讀此內容
    Beware that open_files_limit (4184) variable 
    should be greater than table_open_cache ( 2000)
Variables to adjust 要調整的變量:
    table_open_cache (> 2000)
    innodb_buffer_pool_instances (=1)

理想情況下,MariaDB實例應該在使用MySQLTuner之前至少運行24小時。實例運行的時間越長,MySQLTuner給出的建議就越好。

注意:使用MySQLTuner進行調優,並非一次性的工作,每隔一段時間就應該檢查一次,做一些調整。

2) 使用 mysqlcheck,它是一個命令行工具,可讓您檢查,分析,修復和優化MySQL/MariaDB表和數據庫。

優化並修復所有MySQL數據庫中的所有表
$ mysqlcheck --auto-repair -o --all-databases

最常用的mysqlcheck參數:
-c, --check	檢查表中是否有錯誤。
-a, --analyze	分析給定的表。
-o --optimize	優化表。
-r, --repair	進行修復可以修復幾乎所有東西,除了不是唯一的唯一鍵。
--auto-repair	如果檢查表已損壞,請自動對其進行修復。
                檢查完所有表後,將進行維修。
-A, --all-databases	檢查所有數據庫。
                    這與選擇了所有數據庫的–databases相同。
-B, --databases	處理命名數據庫中的所有表。使用此選項,
                所有名稱參數都被視為數據庫名稱,而不是表名稱。
--tables	覆蓋–databases或-B選項,
            以便該選項之後的所有名稱參數都被視為表名稱。
-g, --check-upgrade	檢查表中與版本有關的更改。可以與–auto-repair
                    一起使用以更正需要依賴於版本的更新的表。

Join the discussion

  1. Pingback: FreeBSD 12.1 安裝配置 – 情報官世界

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

back to top