LNMP是當前極為流行的搭建動態網站的開源服務器軟件系統,擁有良好的穩定性及兼容性。LNMP(Linux + Nginx + MariaDB/MySQL + PHP)安裝配置相對簡單、低系統資源等等。
因不經常配置服務器,總是忘記,衹好從網絡中尋上一些相關配置參數詳解,用來參考:
- Nginx配置參數中文詳細說明
- PHP配置文件 php.ini 詳解
- php-fpm進程管理器的配置文件www.conf詳解
- MariaDB / MySQL配置文件my.cnf文件詳解
- Pure-ftpd配置文件詳解
服務器优化
- 合理安排資源、調整系統參數使服務器運行更快、更節省資源。
- 優化是多方面的,包括查詢、更新、服務器等。
- 原則:進行系統安全加固、內核調優,減少系統瓶頸,減少資源佔用,增加系統的反應速度。
例如:
MariaDB數據庫安裝后的安全加固和性能優化
1、MariaDB的安全加固
運行mysql_secure_installation腳本以解決默認MariaDB安裝中的幾個安全問題:
- 為數據庫root用戶設置及修改密碼
- 禁止匿名用戶登錄
- 禁止本地主機localhost之外的root用戶遠程訪問
- 刪除測試數據庫,默認情況下,匿名用戶可以訪問該數據庫。
建議您對這些選項回答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 一起使用以更正需要依賴於版本的更新的表。
Pingback: FreeBSD 12.1 安裝配置 – 情報官世界