PHP redis,lamp mysql安全_LAMP第三部分php,mysql配置

 2023-10-04 阅读 26 评论 0

摘要:內容概要:一.? php配置1. 配置disable_functiondisable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_rest

內容概要:

一.? php配置

1. 配置disable_function

disable_functions = eval,assert,popen,passthru,escapeshellarg,escapeshellcmd,passthru,exec,system,chroot,scandir,chgrp,chown,escapeshellcmd,escapeshellarg,shell_exec,proc_get_status,ini_alter,ini_restore,dl,pfsockopen,openlog,syslog,readlink,symlink,leak,popepassthru,stream_socket_server,popen,proc_open,proc_close

2. 配置error_log

PHP redis,display_errors=off

log_errors=on

error_log=/path/to/logfile

error_reporting = E_ALL | E_STRICT

錯誤級別參考? http://www.aminglinux.com/bbs/thread-6973-1-1.html

3. 配置open_basedir

mysql?php.ini: open_basedir = /dir1/:/dir2

httpd.conf: php_admin_value open_basedir "/dir1/:/dir2/"

4. 安裝php的擴展模塊(memcache)

http://www.aminglinux.com/bbs/thread-45-1-1.html

二. mysql配置(部分常用的參數)

[mysqld]

docker redis集群、socket = /tmp/mysql.sock

# 為MySQL客戶程序與服務器之間的本地通信指定一個套接字文件(Linux下默認是/var/lib/mysql/mysql.sock文件)

port???????????? = 3306

# 指定MsSQL偵聽的端口

skip-name-resolve

#禁止MySQL對外部連接進行DNS解析,使用這一選項可以消除MySQL進行DNS解析的時間。但需要注意,如果開啟該選項, 則所有遠程主機連接授權都要使用IP地址方式,否則MySQL將無法正常處理連接請求.

php如何連接mysql數據庫,key_buffer?????? = 384M

# key_buffer是用于索引塊的緩沖區大小,增加它可得到更好處理的索引(對所有讀和多重寫)。索引被所有的線程共享,key_buffer的大小視內存大小而定。

table_open_cache????? = 512

# MySQL每打開一個表,都會讀入一些數據到table_open_cache緩存中,當MySQL在這個緩存中找不到相應信息時,才會去磁盤上讀取。默認值64, 假定系統有200個并發連接,則需將此參數設置為200*N(N為每個連接所需的文件描述符數目);當把table_open_cache設置為很大時,如果系統處理不了那么多文件描述符,那么就會出現客戶端失效,連接不上.

max_allowed_packet = 4M

# 接受的數據包大小;增加該變量的值十分安全,這是因為僅當需要時才會分配額外內存。例如,僅當你發出長查詢或MySQLd必須返回大的結果行時MySQLd才會分配更多內存。 該變量之所以取較小默認值是一種預防措施,以捕獲客戶端和服務器之間的錯誤信息包,并確保不會因偶然使用大的信息包而導致內存溢出。

php讀取mysql、sort_buffer_size = 2M

# MySQL執行排序使用的緩沖大小。如果想要增加ORDER BY的速度,首先看是否可以讓MySQL使用索引而不是額外的排序階段。如果不能,可以嘗試增加sort_buffer_size變量的大小

read_buffer_size = 2M

# 讀查詢操作所能使用的緩沖區大小。和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享。對表進行順序掃描的請求將分配一個讀入緩沖區,MySQL會為它分配一段內存緩沖區。 如果對表的順序掃描請求非常頻繁,并且你認為頻繁掃描進行得太慢,可以通過增加該變量值以及內存緩沖區大小提高其性能.

join_buffer_size = 2M

# 聯合查詢操作所能使用的緩沖區大小,和sort_buffer_size一樣,該參數對應的分配內存也是每連接獨享

php連接mysql實例?query_cache_size = 32M

# 指定MySQL查詢結果緩沖區的大小

read_rnd_buffer_size??? = 2M

# 隨機讀緩沖區大小。當按任意順序讀取行時(例如,按照排序順序),將分配一個隨機讀緩存區。進行排序查詢時,MySQL會首先掃描一遍該緩沖,以避免磁盤搜索,提高查詢速度,如果需要排序大量數據,可適當調高該值。但MySQL會為每個客戶連接發放該緩沖空間,所以應盡量適當設置該值,以避免內存開銷過大

myisam_sort_buffer_size =64M

# MyISAM表發生變化時重新排序所需的緩沖

php使用redis,thread_concurrency????? = 8

# 最大并發線程數,取值為服務器邏輯CPU數量×2

thread_cache??????????? = 8

#該值表示可以重新利用保存在緩存中線程的數量,當斷開連接時若緩存中還有空間,那么客戶端的線程將被放到緩存中,如果線程重新被請求,那么請求將從緩存中讀取,若果緩存中是空的或者是新的請求,那么線程將被重新創建。設置規律為:1G內存設置為8,2G內存設置為16,4G以上設置為64

max_connections = 1000

#MySQL的最大連接數,如果服務器的并發連接請求量比較大,建議調高此值,以增加并行連接數量,當然這建立在機器能支撐的情況下,因為如果連接數越多,介于MySQL會為每個連接提供連接緩沖區,就會開銷越多的內存,所以要適當調整該值,不能盲目提高設值。可以過'conn%'通配符查看當前狀態的連接數量,以定奪該值的大小。

php與mysql程序設計。max_connect_errors = 6000

# 對于同一主機,如果有超出該參數值個數的中斷錯誤連接,則該主機將被禁止連接。如需對該主機進行解禁,執行:FLUSH HOST。

open_files_limit = 65535

# MySQL打開的文件描述符限制,默認最小1024

skip-locking

# 避免MySQL的外部鎖定,減少出錯幾率增強穩定性。

php只能使用mysql。wait_timeout? = 8

# 表示空閑的連接超時時間,默認是28800s,這個參數是和interactive_timeout一起使用的,也就是說要想讓wait_timeout 生效,必須同時設置interactive_timeout

interactive_timeout = 8

long_query_time = 1

#慢查詢日志的超時時間

log_slow_queries = /path/to/slow_queries

php與mysql基礎教程,# 慢查詢日志路徑,必須配合上面的參數一同使用

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/1/113025.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息