Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

How to install multiple versions of PHP for Nginx under Linux system

2025-01-19 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)05/31 Report--

This article mainly introduces "how to install multi-version PHP for Nginx under the Linux system". In the daily operation, I believe many people have doubts about how to install multi-version PHP for Nginx under the Linux system. The editor consulted all kinds of materials and sorted out a simple and easy-to-use method of operation. I hope it will be helpful to answer the question of "how to install multi-version PHP for Nginx under the Linux system". Next, please follow the editor to study!

Linux version: 64-bit centos 6.4

Nginx version: nginx1.8.0

Php version: php5.5.28 & php5.4.44

Note that if the major version of php5.5 is already installed in the / usr/local/php directory, then install other versions of php and specify a different installation directory.

Install php

# wget http://cn2.php.net/get/php-5.4.44.tar.gz/from/this/mirror# tar zxvf php-5.4.44.tar.gz# cd php-5.4.44#./configure-- prefix=/usr/local/php5.4.44\-- with-curl\-- with-freetype-dir\-- with-gd\-- with-gettext\-- with-iconv-dir\-- with-kerberos\-- with-libdir=lib64\- With-libxml-dir\-- with-mysql\-- with-mysqli\-- with-openssl\-- with-pcre-regex\-- with-pdo-mysql\-- with-pdo-sqlite\-- with-pear\-- with-png-dir\-- with-xmlrpc\-- with-xsl\-- with-zlib\-- enable-fpm\-enable-bcmath\-enable-libxml\-- enable-inline-optimization\-- enable-gd-native-ttf\-- enable- Mbregex\-enable-mbstring\-enable-pcntl\-enable-shmop\-enable-soap\-enable-sockets\-enable-sysvsem\-enable-xml\-enable-zip# make & & make install# cp-r. / sapi/fpm/php-fpm.conf / usr/local/php5.4.44/etc/php-fpm.conf# cp php.ini-development / usr/local/php5.4.44/lib/php.ini# cp-r. / sapi/fpm / php-fpm / etc/init.d/php-fpm5.4.44

Modify the listening port of php-fpm.conf to 9001 because the major version 5.5.28 is listening 9000.

; note: this value is mandatory.listen = 127.0.0.1 9001

Start php-fpm

# / etc/init.d/php-fpm5.4.44

Php installation successfully views the process

# ps aux | grep php

In this way, the php-fpm has been set up.

Configure nginx

Add a new configuration for port 8054 and point to 9001 and specify the directory:

Server {listen 8054; server_name localhost; location / {# root html;root / usr/www5.4.44; index index.html index.htm;} error_page 500502 503 504 / 50x.htl; location = / 50x.html {root html;} location ~\ .php$ {root html;fastcgi_pass 127.0.1 Fastcgi_param script_filename / usr/www5.4.44 $fastcgi_script_name;}}

The configuration file nginx.conf for nginx is found in the

# cd / usr/local/nginx/conf

The complete nginx configuration is as follows:

# user nobody;worker_processes 4; # error_log logs/error.log;#error_log logs/error.log notice;#error_log logs/error.log info; # pid logs/nginx.pid; events {worker_connections 1024;} http {include mime.types; default_type application/octet-stream # log_format main'$remote_addr-$remote_user [$time_local] "$request" #'$status $body_bytes_sent "$http_referer" #'"$http_user_agent"$http_x_forwarded_for"; # access_log logs/access.log main; sendfile on; # tcp_nopush on; # keepalive_timeout 0; keepalive_timeout 65; # gzip on; server {listen 80 Server_name localhost; # charset koi8-r; # access_log logs/host.access.log main; location / {# root html; root / usr/www; index index.html index.htm;} # error_page 404 / 404.html; # redirect server error pages to the static page / 50x.html # error_page 500 502 503 504 / 50x.html Location = / 50x.html {root html;} # proxy the php scripts to apache listening on 127.0.0.1 proxy the php scripts to apache listening on 80 # # location ~. Php$ {# proxy_pass http://127.0.0.1; #} # pass the php scripts to fastcgi server listening on 127.0.0.1 root html; 9000 # location ~. Php$ {# root html # fastcgi_pass 127.0.0.1 include fastcgi_params; 9000; # fastcgi_index index.php; # fastcgi_param script_filename / scripts$fastcgi_script_name; # include fastcgi_params; #} location ~\. Php$ {root html; fastcgi_pass 127.0.0.1 include fastcgi_params; 9000; fastcgi_index index.php Include fastcgi_params; fastcgi_param script_filename / usr/www$fastcgi_script_name;} # deny access to .htaccess files, if apache's document root # concurs with nginx's one # # location ~ /\ .ht {# deny all; #} server {listen 8054; server_name localhost Location / {# root html; root / usr/www5.4.44; index index.html index.htm;} error_page 500 502 503 504 / 50x.html; location = / 50x.html {root html;} location ~\ .php$ {root html; fastcgi_pass 127.0.0.1 error_page 9001 Fastcgi_index index.php; include fastcgi_params; fastcgi_param script_filename / usr/www5.4.44 $fastcgi_script_name;}} # another virtual host using mix of ip-, name-, and port-based configuration # # server {# listen 8000; # listen somename:8080; # server_name somename alias another.alias # location / {# root html; # index index.html index.htm; #} # https server # # server {# listen 443 ssl; # server_name localhost; # ssl_certificate cert.pem; # ssl_certificate_key cert.key; # ssl_session_cache shared:ssl:1m; # ssl_session_timeout 5m; # ssl_ciphers highlands # ssl_prefer_server_ciphers on; # location / {# root html; # index index.html index.htm; #} #}}

Restart nginx

# / usr/local/nginx/sbin/nginx-s reload

Note that the firewall needs to add the opening of the new port, otherwise it cannot be accessed:

Firewall configuration

Note that if you want to access the web page of the virtual machine on your local machine, such as xp, if it is centos6, you need to modify the firewall to start port 80

# cd / etc/sysconfig

Modify the iptables file, or edit it directly with vim

# vim / etc/sysconfig/iptables

Add the following line to open firewall port 80:

-an input-m state-- state new-m tcp-p tcp-- dport 8054-j accept

Restart the firewall

# / etc/init.d/iptables restart

To see if the test is successful, check phpinfo ()

At this point, the study on "how to install multiple versions of PHP for Nginx under the Linux system" is over. I hope to be able to solve your doubts. The collocation of theory and practice can better help you learn, go and try it! If you want to continue to learn more related knowledge, please continue to follow the website, the editor will continue to work hard to bring you more practical articles!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report