国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

15158846557 在線咨詢 在線咨詢
15158846557 在線咨詢
所在位置: 首頁(yè) > 營(yíng)銷資訊 > 網(wǎng)站運(yùn)營(yíng) > 在服務(wù)器上對(duì) PHP-FPM 和 Nginx 進(jìn)行安裝配置詳解

在服務(wù)器上對(duì) PHP-FPM 和 Nginx 進(jìn)行安裝配置詳解

時(shí)間:2023-07-01 00:09:01 | 來(lái)源:網(wǎng)站運(yùn)營(yíng)

時(shí)間:2023-07-01 00:09:01 來(lái)源:網(wǎng)站運(yùn)營(yíng)

在服務(wù)器上對(duì) PHP-FPM 和 Nginx 進(jìn)行安裝配置詳解:

PHP-FPM

PHP-FPM(PHP FastCGI Process Manager),是用于管理 PHP 進(jìn)程池的軟件,用于接收和處理來(lái)自 Web 服務(wù)器(如Nginx)的請(qǐng)求。PHP-FPM會(huì)創(chuàng)建一個(gè)主進(jìn)程(通常以操作系統(tǒng)中根用戶的身份運(yùn)行),控制何時(shí)以及如何把 HTTP 請(qǐng)求轉(zhuǎn)發(fā)給一個(gè)或多個(gè)子進(jìn)程處理。PHP-FPM 主進(jìn)程還控制著什么時(shí)候創(chuàng)建和銷毀 PHP 子進(jìn)程。PHP-FPM 進(jìn)程池中的每個(gè)進(jìn)程存在的時(shí)間都比單個(gè) HTTP 請(qǐng)求長(zhǎng),可以處理10、50、100或更多的 HTTP 請(qǐng)求。

安裝

# Ubuntusudo apt-get install python-software-propertiessudo add-apt-repository ppa:ondrej/php-5.6sudo apt-get updatesudo apt-get install php5-fpm php5-cli php5-curl / php5-gd php5-json php5-mcrypt php5-mysqlnd

全局配置

在 Ubuntu 中,PHP-FPM 的主配置文件是 /etc/php5/fpm/php-fpm.conf

下面是 PHP-FPM 最重要的全局配置,建議把默認(rèn)值改成下面的值:

這兩個(gè)配置是 PHP-FPM 進(jìn)程的基本安全保障,能解決簡(jiǎn)單的問(wèn)題,但是不能解決由拙劣的 PHP 代碼引起的重大問(wèn)題。




配置進(jìn)程池

PHP-FPM 配置文件的其它配置內(nèi)容是一個(gè)名為 Pool Definitions 的區(qū)域,這個(gè)區(qū)域里的配置用于設(shè)置每個(gè) PHP-FPM 進(jìn)程池,PHP-FPM 進(jìn)程池是一系列相關(guān)的 PHP 子進(jìn)程。通常,一個(gè) PHP 應(yīng)用有自己的一個(gè) PHP-FPM 進(jìn)程池。

在 Ubuntu 中,Pool Definitions 區(qū)域只有下面這行內(nèi)容:

include=/etc/php5/fpm/pool.d/*.conf這行代碼的作用是讓 PHP-FPM 加載 /etc/php5/fpm/pool.d 目錄中的各個(gè)進(jìn)程池定義文件。進(jìn)入這個(gè)目錄,應(yīng)該會(huì)看到一個(gè)名為 www.conf 的文件,這是名為 www 的默認(rèn) PHP-FPM 進(jìn)程池配置文件。

各個(gè) PHP-FPM 進(jìn)程池都以指定的操作系統(tǒng)用戶和用戶組的身份運(yùn)行。我們要配置默認(rèn)的 wwwPHP-FPM 進(jìn)程池,讓它以 deploy 用戶和用戶組的身份運(yùn)行:

編輯之后保存文件,然后重啟 PHP-FPM 主進(jìn)程:

sudo service php5-fpm restart

Nginx

Nginx 是 Web 服務(wù)器,類似 Apache,不過(guò)更容易配置,而且運(yùn)行時(shí)占用內(nèi)存更少。這里我們不深入探討 Nginx,只是告訴你如何安裝,以及如何把相應(yīng)的請(qǐng)求轉(zhuǎn)發(fā)給 PHP-FPM 進(jìn)程池。

安裝

# Ubuntusudo add-apt-repository ppa:nginx/stablesudo apt-get updatesudo apt-get install nginx# CentOSsudo yum install nginxsudo systemctl enable nginx.servicesudo systemctl start nginx.service

虛擬主機(jī)

接下來(lái),我們需要為 PHP 應(yīng)用配置一個(gè)虛擬主機(jī)。虛擬主機(jī)是一系列設(shè)置,用于告知 Nginx PHP 應(yīng)用的域名、在文件系統(tǒng)中的位置,已經(jīng)如何把 HTTP 請(qǐng)求轉(zhuǎn)發(fā)給 PHP-FPM 進(jìn)程池:

server { listen 80; server_name example.com; index index.php client_max_body_size 50M; error_log /home/deploy/apps/logs/example.error.log; access_log /home/deploy/apps/logs/example.access.log; root /home/deploy/apps/example.com/current/public; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~ /.php { try_files $uri = 404; fastcgi_split_path_info ^(.+/.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; }}下面簡(jiǎn)要說(shuō)明下每個(gè)虛擬主機(jī)設(shè)置:

除了上述設(shè)置外,還有兩個(gè) location 塊,這兩個(gè) location 塊的作用是告訴 Nginx 如何處理匹配指定 URL 模式的 HTTP 請(qǐng)求:

location / {} 使用 try_files 指令查找匹配所請(qǐng)求 URI 的文件,如果沒(méi)有找到,再查找匹配所請(qǐng)求 URI 的目錄,如果目錄也沒(méi)有找到,則把 HTTP 請(qǐng)求的 URI 重寫為 /index.php,如果有查詢字符串的話,還會(huì)把查詢字符串附加到 URI 的末尾,這個(gè)重寫的 URL,以及所有以 .php 結(jié)尾的URI,都由 location ~ /.php {} 塊管理。

location ~ /.php {} 塊把 HTTP 請(qǐng)求轉(zhuǎn)發(fā)給 PHP-FPM 進(jìn)程池進(jìn)行處理,在這個(gè)塊中我們把 PHP 請(qǐng)求轉(zhuǎn)發(fā)到端口 9000 讓 PHP-FPM 處理請(qǐng)求。




在 Ubuntu 中我們必須執(zhí)行以下命令,在 /etc/nginx/sites-enable 目錄下創(chuàng)建虛擬主機(jī)配置文件的符號(hào)鏈接:

sudo ln -s /etc/nginx/sites-available/example.conf /etc/nginx/sites-enabled/example.conf;最后,執(zhí)行下述命令,重啟 Nginx:

# Ubuntusudo service nginx restart# CentOSsudo systemctl restart nginx.service現(xiàn)在服務(wù)器可以運(yùn)行 PHP 應(yīng)用了。Nginx 配置有很多種,這里只是最基本的配置,更多配置信息,請(qǐng)參考以下資源:

http://nginx.orghttp://www.nginx.cnhttps://github.com/h5bp/server-configs-nginx

自動(dòng)配置服務(wù)器

配置服務(wù)器是個(gè)很漫長(zhǎng)的過(guò)程,而且很枯燥,如果手動(dòng)配置很多服務(wù)器,這種感覺(jué)會(huì)更強(qiáng)烈。幸好,有些工具可以幫我們自動(dòng)配置服務(wù)器,下面是幾個(gè)流行的服務(wù)器配置工具:

Puppet:https://puppet.com/Chef:https://www.chef.io/Ansible:https://www.ansible.com/SaltStack:https://www.ansible.com/各個(gè)工具之間有所差別,但是目標(biāo)是一致的 —— 根據(jù)精確的規(guī)則自動(dòng)配置新服務(wù)器。如果要管理多臺(tái)服務(wù)器,我強(qiáng)烈建議研究使用配置工具,這樣可以節(jié)省大量時(shí)間。

關(guān)鍵詞:安裝,配置,服務(wù)

74
73
25
news

版權(quán)所有? 億企邦 1997-2025 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉