Linux學習筆記(2月14日)

2021-09-11 03:24:12 字數 3195 閱讀 8820

ssl(secure sockets layer 安全套接層),及其繼任者傳輸層安全(transport layer security,tls)是為網路通訊提供安全及資料完整性的一種安全協議。tls與ssl在傳輸層對網路連線進行加密。

1)認證使用者和伺服器,確保資料傳送到正確的客戶機和伺服器;

2)加密資料以防止資料中途被竊取;

3)維護資料的完整性,確保資料在傳輸過程中不被改變。

申請ssl證書:

**:www.wosign.com (沃通)

免費的:freessl.org

申請時需要驗證網域名稱、在dns解析中新增一條txt記錄。

配置ssl

[root@rice01 ~]# mkdir /etc/nginx/ssl/

[root@rice01 ~]# cd /etc/nginx/ssl/

[root@rice01 ssl]# vi bbsca // 將ca證書的內容拷貝到bbsca中

[root@rice01 ssl]# vi bbs.crt // 將證書內容拷貝到bbs.crt中

[root@rice01 ssl]# vi bbs.key // 將私鑰內容拷貝到bbs.key中

[root@rice01 ssl]# vi /etc/nginx/conf.d/bbs.riceyoung.com.conf

server $1 permanent;

}

執行命令:curl -k -h "host:bbs.riceyoung.com"進行訪問測試。

nginx服務配置中,匹配php時需要定義php服務的tcp/ip位址及埠,如果nginx配置中php的fastcgi_pass定義的內容與php服務的配置檔案監聽的tcp/ip位址及埠不一致,在訪問**時會出現502:

[root@rice01 conf.d]# cat bbs.riceyoung.com.conf

......

location ~ \.php$

......

[root@rice01 conf.d]# cat /usr/local/php-fpm/etc/php-fpm.d/www.conf

......

[www] // 定義php-fpm的pool name

......

user = php-fpm // 定義php服務的所屬主

group = php-fpm // 定義php服務的所屬組

......

listen = 127.0.0.1:9000 // 定義php服務的位址和埠,如果此處和bbs.riceyoung.com.conf中fastcgi_pass定義的內容不一致,訪問**時會出現502

......

;listen.owner = php-fpm // 定義呼叫服務的使用者

;listen.group = php-fpm // 定義呼叫服務的組

;listen.mode = 0660 // 定義socket許可權,此處被 ; 注釋掉了

[root@rice01 conf.d]# vi bbs.riceyoung.com.conf

......

location ~ \.php$

......

[root@rice01 conf.d]# vi /usr/local/php-fpm/etc/php-fpm.d/www.conf

......

listen = /tmp/www.socket // 除了定義位址和埠,也可以定義socket檔案,但必須和nginx配置檔案中的fastcgi_pass保持一致

......

listen.mode = 0666 // 定義socket許可權,也可以將listen.owner和listen.group定義為nginx,但一般不這樣操作,只需要修改許可權即可

......

[root@rice01 conf.d]# /usr/local/php-fpm/sbin/php-fpm -t // 檢查語法有沒有錯誤

[root@rice01 ~]# /etc/init.d/php-fpm restart // 重啟php服務,也可以reload過載

php-fpm的其它配置引數:

pm = dynamic // 定義php服務程序為動態模式,靜態為static

pm.max_children = 5 // 最大程序數

pm.start_servers = 2 // 啟動2個子程序

pm.min_spare_servers = 1 // 空閒時,最少不能少於1個子程序

pm.max_spare_servers = 3 // 空閒時,最多不能多於3個子程序

php_flag[display_errors] = off // 定義頁面訪問時是否顯示報錯資訊

php_admin_value[error_log] = /var/log/fpm-php.www.log // 定義錯誤日誌的路徑,如果使用此功能,還需要給/var/log/fpm-php.www.log設定許可權

php_admin_flag[log_errors] = on // 定義記錄錯誤資訊的開關

php_admin_value[error_reporting] = e_all // 定義錯誤等級,all或notice

slowlog = /tmp/php.slow // 定義php指令碼執行慢的日誌路徑

request_slowlog_timeout = 1 // 定義執行慢的php指令碼超過1s的響應時間就記錄日誌

php_admin_value[open_basedir] = /data/wwwroot/bbs.riceyoung.com:/tmp // 定義乙個php-fpm服務只能在這個路徑下活動

補充:

在實際的生產環境中,需要禁止phpinfo,防止資訊洩露:

# vi /usr/local/php-fpm/etc/php.ini

disable_functions = phpinfo

定義多個pool:

在定義多個pool時,要修改php的子配置檔案和nginx的子配置檔案,定義pool name、定義listen監聽的ip或socket檔案、定義open_basedir。

無論是修改php的配置或是修改nginx的配置,修改後都需要重啟服務或過載服務。

Linux學習筆記(1月14日)

筆記語法格式 markdown 打卡方法 開通自己的部落格 csdn oschina 51cto 將每日學習筆記寫一篇博文,將博文連線貼上到打卡日記裡進行打卡操作。密碼管理工具 keepass 可利用keepass 堅果雲實現pc端 手機端的密碼庫同步。網域名稱 1.1 網域名稱的申請 購買 xin...

Linux學習筆記(2月27日)

檢視網路狀況 netstat 用於列出系統上所有的網路套接字連線情況,包括tcp,udp以及unix套接字,另外它還能列出處於監聽狀態 即等待接入請求 的套接字。如果想確認系統上的服務有沒有起來,可以檢視相應的埠有沒有開啟。狀態說明 listen 偵聽來自遠方的tcp埠的連線請求 syn sent ...

11月14日筆記

namespace 命名空間 用於解決類重名問題,可以看做 類的資料夾 如果 和被使用的類在乙個namespace則不需要using。在不同命名空間下的類呼叫有兩種方法 寫全稱 命名空間.類名 先using引用命名空間,再呼叫 using可以宣告namespace的引入,還可以實現非託管資源的釋放,...