特奇怪的问题:centos5下mount.cifs 与apache2.2.3和vsftpd结合
生活随笔
收集整理的這篇文章主要介紹了
特奇怪的问题:centos5下mount.cifs 与apache2.2.3和vsftpd结合
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
終于解決了,
經過試驗,與內核無關,內核是沒有問題的.
真正的原因是apache或vsftpd發布的文件目錄中如果有mount.cifs掛載上來的,就需要在apache或vsftpd把sendfile選項關閉。
在apache的文檔中這樣寫道:
[quote]
EnableSendfile 這個指令控制httpd是否可以使用操作系統內核的sendfile支持來將文件發送到客戶端。默認情況下,當處理一個請求并不需要訪問文件內部的數據時(比如發送一個靜態的文件內容),如果操作系統支持,Apache將使用sendfile將文件內容直接發送到客戶端而并不讀取文件。譯者注:Linux2.4/2.6內核都支持。
這個sendfile機制避免了分開的讀和寫操作以及緩沖區分配,但是在一些平臺或者一些文件系統上,最好禁止這個特性來避免一些問題:
? ? * 一些平臺可能會有編譯系統檢測不到的有缺陷的sendfile支持,特別是將在其他平臺上使用交叉編譯得到的二進制文件運行于當前對sendfile支持有缺陷的平臺時。
? ? * 在Linux上啟用IPv6時,使用sendfile將會觸發某些網卡上的TCP校驗和卸載bug。
? ? * 當Linux運行在Itanium處理器上的時候,sendfile可能無法處理大于2GB的文件。
? ? * 對于一個通過網絡掛載了NFS文件系統的DocumentRoot (比如:NFS或SMB),內核可能無法可靠的通過自己的緩沖區服務于網絡文件。
如果出現以上情況,你應當禁用sendfile :
EnableSendfile Off
針對NFS或SMB,這個指令可以被針對目錄的設置覆蓋:
<Directory "/path-to-nfs-files">
EnableSendfile Off
</Directory>
[/quote]
同樣,在vsftpd的配置中也有一個選項就是use_sendfile,在這種情況下,為了mount.cifs掛載上來的目錄可以正常工作,
應該在vsftpd.conf寫入
use_sendfile=NO
這樣就解決了!
至于用老版的mount.smbfs則沒有這個問題,也許是mount.cifs更安全吧。
經過試驗,與內核無關,內核是沒有問題的.
真正的原因是apache或vsftpd發布的文件目錄中如果有mount.cifs掛載上來的,就需要在apache或vsftpd把sendfile選項關閉。
在apache的文檔中這樣寫道:
[quote]
EnableSendfile 這個指令控制httpd是否可以使用操作系統內核的sendfile支持來將文件發送到客戶端。默認情況下,當處理一個請求并不需要訪問文件內部的數據時(比如發送一個靜態的文件內容),如果操作系統支持,Apache將使用sendfile將文件內容直接發送到客戶端而并不讀取文件。譯者注:Linux2.4/2.6內核都支持。
這個sendfile機制避免了分開的讀和寫操作以及緩沖區分配,但是在一些平臺或者一些文件系統上,最好禁止這個特性來避免一些問題:
? ? * 一些平臺可能會有編譯系統檢測不到的有缺陷的sendfile支持,特別是將在其他平臺上使用交叉編譯得到的二進制文件運行于當前對sendfile支持有缺陷的平臺時。
? ? * 在Linux上啟用IPv6時,使用sendfile將會觸發某些網卡上的TCP校驗和卸載bug。
? ? * 當Linux運行在Itanium處理器上的時候,sendfile可能無法處理大于2GB的文件。
? ? * 對于一個通過網絡掛載了NFS文件系統的DocumentRoot (比如:NFS或SMB),內核可能無法可靠的通過自己的緩沖區服務于網絡文件。
如果出現以上情況,你應當禁用sendfile :
EnableSendfile Off
針對NFS或SMB,這個指令可以被針對目錄的設置覆蓋:
<Directory "/path-to-nfs-files">
EnableSendfile Off
</Directory>
[/quote]
同樣,在vsftpd的配置中也有一個選項就是use_sendfile,在這種情況下,為了mount.cifs掛載上來的目錄可以正常工作,
應該在vsftpd.conf寫入
use_sendfile=NO
這樣就解決了!
至于用老版的mount.smbfs則沒有這個問題,也許是mount.cifs更安全吧。
轉載于:https://blog.51cto.com/sonice/230838
總結
以上是生活随笔為你收集整理的特奇怪的问题:centos5下mount.cifs 与apache2.2.3和vsftpd结合的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: RS-232交叉串口线的做法与测试.do
- 下一篇: linux下锐捷拨号的问题