導航:首頁 > 編程語言 > nginxphp虛擬主機

nginxphp虛擬主機

發布時間:2023-10-13 13:05:18

⑴ 如何在Apache和Nginx禁止上傳目錄里php的執行許可權

網站程序的上傳目錄通常是不需要PHP執行解釋許可權,通過限制目錄的PHP執行許可權可以提網站的安全性,減少被攻擊的機率。

下面和大家一起分享下如何在Apache和Nginx禁止上傳目錄里PHP的執行許可權。

在虛擬主機配置文件中增加php_flag engine off指令即可,配置如下

"/website/uploads">,denyAllowfromallphp_flagengineoff

Nginx更簡單,直接通過location條件匹配定位後進行許可權禁止。

在server配置段中增加如下的配置

如果是單個目錄

location~*^/uploads/.*.(php|php5)${denyall; }

如果是多個目錄

location~*^/(attachments|uploads)/.*.(php|php5)${denyall;}

注意:這段配置文件一定要放在下面配置的前面才可以生效。

location~.php${ fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }

最後給一個完整的配置示例

location~/mm/(data|uploads|templets)/*.(php)${ denyall; } location~.php${ try_files$uri/404.html; fastcgi_pass127.0.0.1:9000; fastcgi_indexindex.php; fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name; includefastcgi_params; }

配置完後記得重啟Nginx生效。

⑵ 如何限制Nginx+PHP的目錄許可權

最近Nginx的使用者是越來越多,多數網站也從原本使用很多的Apache平台或其他平台遷移到了Nginx。對於剛剛接觸Nginx的朋友來說,如何限制Nginx+PHP的目錄許可權成了實際問題,
大家都知道,在Apache中可以很容易的對虛擬目錄進行許可權控制,如:
程序代碼如下:

<VirtualHost IPn>
ServerAdmin [email protected]
DocumentRoot /usr/www/xpb/
ServerName IP:80
ServerAliasIP
ErrorLog logs/default-error_log
php_admin_value open_basedir "/tmp/:/usr/www/xpb/"
</VirtualHost>

關鍵是後面的這句php_admin_value,這樣就限制了php的操作目錄僅限於/tmp/和/usr/www/xpb/這兩個目錄了。對於Apache虛擬主機來說,這個設置十分有用,結合在php.ini中禁用一些php函數,幾乎可以杜絕PHP木馬對其他站點及系統的危害。我雖沒專業做過Linux下的虛擬主機,但相信各大虛擬主機商也是這么做的。

看來對於Apache最好的辦法還是使用「在php.ini中禁用一些危險的php函數和在Apache虛擬主機中配置php_admin_value」的方式來做虛擬主機的安全。

關於Nginx的配置文件,參考了很多資料,好像是不支持php_admin_value open_basedir,也就是Nginx暫時還沒有Apache的 php_myadmin_value這類的設置。如果用Nginx做虛擬主機,各用戶之間的目錄安全控制如何來做呢?網上很多人說,限制上傳文件類型,做好程序安全不就行了么?對,對於自己的站點來說這樣完全可以。但如果虛擬主機是給別人用的,又給予了FTP許可權,總不能不讓人上傳php文件吧。
轉載,僅供參考。

⑶ mac配置php-fpm,nginx運行多版本php

1、brew 安裝 php5.6 php5.7 nginx

2、配置php-conf

3、配置虛擬主機

安裝好brew

用brew 命令安裝,如果速度太慢或訪問不了,自行goole brew 換源

brew search php  查看可用的php版本

brew install [email protected]  安裝php5.6

brew install [email protected] 安裝php5.6

brew install nginx       安裝nginx

1、修改php5.6 php-fpm的埠為9056

    cd usr/local/etc/php/5.6 # 到php5.6的目錄下

    vi    php-fpm.conf # 修改文件

        listen = 127.0.0.1:9056  # 修改此埠

        daemonize = yes # 修改為允許後台啟動php-fpm

2、修改php5.6 php-fpm的埠為9070

    cd /usr/local/etc/php/7.1/php-fpm.d # 到php7.1的目錄下

    vi www.conf # 修改埠

        listen = 127.0.0.1:9056  # 修改此埠    

    vi    php-fpm.conf  # 修改文件

         daemonize = yes # 修改為允許後台啟動php-fpm

3、啟動php-fpm

    cd /usr/local/sbin # 到此目錄,建立兩個軟鏈接指向不同版本的php

切換到root用戶

./php-fpm56 

./php-fpm71

啟動後可看到php-fpm的進程,則成功

ps-ef | grep php-fpm

cd /usr/local/etc/nginx/  # 到nginx的目錄下

復制默認的配置文件到server下(此目錄用來存虛擬主機文件)

這里我在server創建了這兩個

vi local.phpinfo56.com.conf # 修改本地域名和nginx代理到php-fpm埠,按照這種方法修改另一個

nginx # 啟動nginx

nginx -s reload # 修改配置文件,重新載入nginx

vi /etc /hosts  # 修改host 加上映射關系

cd  /usr /local/var/www # 在此目錄下建立一個index.php

echo "<?php phpinfo();" > index.php

在瀏覽器訪問可看到

閱讀全文

與nginxphp虛擬主機相關的資料

熱點內容
解壓車貸後gps怎麼找 瀏覽:350
源碼資料庫怎麼配備 瀏覽:136
知乎程序員小灰 瀏覽:574
新概念英語第一冊書pdf 瀏覽:5
安卓ans文件怎麼打開 瀏覽:893
選擇題改進分治演算法的方法有 瀏覽:108
下載雲伺服器有什麼好處 瀏覽:23
江蘇機架式伺服器雲主機 瀏覽:411
linux補全命令 瀏覽:514
我要打命令 瀏覽:970
御人pdf 瀏覽:390
小米手機怎麼發送文件夾用qq 瀏覽:917
找人一起玩用什麼app好 瀏覽:398
程序員最煩的4件事 瀏覽:485
怎麼查ice伺服器 瀏覽:760
excel加密不可以復制 瀏覽:308
py編譯器的鍵盤輸入在哪 瀏覽:226
雲伺服器和深度學習 瀏覽:102
交叉編譯標准輸出 瀏覽:24
如何啟用DNS伺服器 瀏覽:736