How to Ubuntu 16.04 Multiple PHP Nginx
Ubuntu 16.04 is a robust operating system that is commonly used for web application development. This operating system uses Nginx as the web server and PHP as the programming language. It is not uncommon to have multiple PHP versions on a server especially if you’re developing different applications that require different versions of PHP. In this article, we are going to explore how to Ubuntu 16.04 multiple PHP Nginx.
Preparing The System
Before we proceed to install and configure multiple PHP versions on Ubuntu 16.04, we need to update our system packages. This helps us to ensure that our system is up-to-date and that we have the latest packages. Here is the command to update our system:
sudo apt-get update && sudo apt-get upgrade
Install Nginx
The first step towards using multiple PHP versions on Ubuntu 16.04 is installing the Nginx web server. To install Nginx, use the following command:
sudo apt-get install nginx
Once Nginx is installed, we can confirm whether it’s up and running with the following command:
sudo systemctl status nginx
Install PHP
The next step is to install the various versions of PHP that we require. Ubuntu 16.04 comes with PHP 7. To install it just use the following command:
sudo apt-get install php-fpm php-mysql php-mbstring
With PHP 7 installed, we also need to install other versions of PHP. In this case, let’s install PHP 5.6 and PHP 7.1:
sudo apt-get install php5.6-fpm php5.6-mysql php5.6-mbstring
sudo apt-get install php7.1-fpm php7.1-mysql php7.1-mbstring
Once we’ve installed the various PHP versions, we need to configure Nginx to use them.
Configure Nginx
The configuration file for Nginx is found in the /etc/nginx/ directory. Navigate to this directory by typing the following command:
cd /etc/nginx/
Next, create a new file called example.com inside the sites-available directory:
sudo nano /etc/nginx/sites-available/example.com
Paste the following code into this file. This sets up a server block with two different locations, one for PHP 7 and the other for PHP 5.6.
server {
listen 80 ;
server_name example.com;
root /var/www/example.com;
index index.php index.html index.htm;
location / {
try_files $uri $uri/ /index.php?$args;
}
location /php5.6 {
alias /var/www/example.com/php5.6;
try_files $uri $uri/ /php5.6/index.php?$args;
}
location /php7.1 {
alias /var/www/example.com/php7.1;
try_files $uri $uri/ /php7.1/index.php?$args;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php7.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Before proceeding, ensure that the server_name line reflects your domain name. Also, ensure that the root directory defined in this file (/var/www/example.com) reflects your website’s location.
We also have two locations that correspond to PHP 5.6 and PHP 7.1. These locations map to directories where we have installed PHP 5.6 and PHP 7.1 respectively.
Next, we need to enable this server block by creating a symbolic link to the /etc/nginx/sites-enabled directory. The command to do this is:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Finally, check that the Nginx is properly configured by typing the following command:
sudo nginx -t
If Nginx is properly configured, we should get the following output:
nginx: configuration file /etc/nginx/nginx.conf test is successful
Conclusion
In conclusion, using multiple PHP versions in Ubuntu 16.04 is possible with a little configuration. We’ve covered how to install and configure multiple PHP versions using Nginx. With this guide, you should be able to get started with developing web applications on Ubuntu 16.04. Don’t forget to update your system regularly to ensure that you have the latest packages.
Happy developing!
Related Posts:
- Centos 7 Nginx Php Worker Process And Worker Connection Centos 7 Nginx PHP Worker Process And Worker Connection What is Nginx? Nginx (pronounced "engine-x") is an open source web server software designed with high performance, stability and low memory…
- What Is Benefit Of Nginx What is the Benefit of Nginx? Overview of Nginx Nginx is a free, open source, high-performance HTTP server, reverse proxy, IMAP/POP3 proxy server, and load balancer. It runs on Linux,…
- Nginx Static Location For Multiple Django Nginx Static Location For Multiple Django What is Nginx? Nginx is an open source web server written in C that is well-known for its performance and speed. Nginx is one…
- Install Webmin Plugin Nginx Ubuntu Install Webmin Plugin Nginx Ubuntu What is Nginx? Nginx is a web server that runs on the Linux operating system. It is a popular web server software and can handle…
- Add Php7.2 Curl To Nginx Add Php7.2 Curl To Nginx Overview In this article, we’ll discuss how to add Php7.2 with Curl module to Nginx. Since Php7.2 is the latest version of the PHP language,…
- How To Install Nginx And Mariadb 10 How To Install Nginx And Mariadb 10 What is Nginx and MariaDB 10 Nginx is a free, open-source web server that is known for its scalability and performance. It is…
- Install Nginx Phpmyadmin Ubuntu 18.04 Install Nginx Phpmyadmin Ubuntu 18.04 Introduction to Nginx, PHP, and Ubuntu Nginx is an open-source, high-performance web server written in C and used to serve static and dynamic webpages. It…
- Run Nginx Fpm Docker Compose Run Nginx FPM Docker Compose Getting Started with Docker Before you can start running Nginx FPM Docker compose, you need to make sure that you have a functioning Docker setup.…
- Tutorial Start Nginx Ubuntu Webserver Tutorial Start Nginx Ubuntu Webserver Step 1: Prerequisites Before we start configuring Nginx as a web server on Ubuntu, we need to make sure we have the following prerequisites: A…
- Access Nginx On Virtual Box Centos 7 Access Nginx On Virtual Box Centos 7 Introduction Nginx is a web server and proxy written in C. It is used to serve webpages and proxy requests. It is fast…
- Instal Nginx Centos Di Webuzo Instal Nginx Centos Di Webuzo Background Webuzo is a leading web server platform used by individuals and businesses alike. It supports a range of operating systems, including the popular CentOS…
- Server Admin Panel For Nginx Server Admin Panel For Nginx What is Nginx? Nginx is an open source web server and content management system developed by Igor Sysoev in 2004. It is known for its…
- Nginx Multi Domain Centos 7 Nginx Multi Domain Centos 7 Introduction to Nginx Nginx is an open source, high performance web server software written in C language, designed to be deployed on Linux and Unix-like…
- Nginx Change Port 80 To 3000 Nginx Change Port 80 To 3000 What Is Nginx? Nginx is an open-source web server created by Igor Sysoev in 2002. Nginx is a powerful, reliable, and robust web server…
- Nginx Windows Execute Command Conf Nginx Windows Execute Command Conf What is Nginx for Windows? Nginx for Windows is an open-source web server used to run websites and web applications on Windows operating systems. It…
- Install Wordpress On Ubuntu 18.04 Nginx Install WordPress On Ubuntu 18.04 Nginx Introduction To Ubuntu And Nginx Ubuntu is a popular open-source operating system which has gained immense popularity over the years. It is easy to…
- Centos7 Nginx Php-Fpm Sock CentOS7 Nginx Php-Fpm Sock What is CentOS? CentOS (Community ENTerprise Operating System) is a Linux distribution that provides a free, enterprise-class, community-supported computing platform functionally compatible with its upstream source,…
- How To Install Nginx Maridb 10 On Ubuntu 16.04 Lts How To Install Nginx Maridb 10 On Ubuntu 16.04 Lts Step 1 — Installing Nginx The first step in installing Nginx and MariaDB 10 on Ubuntu 16.04 is installing Nginx.…
- Install Nginx Ubuntu 18.08 Local Install Nginx on Ubuntu 18.04 Local Installing Nginx on Ubuntu 18.04 can be accomplished quickly and in several different ways. Depending on your needs, some methods may be better suited…
- Centos 7 Install Nginx Php 7 Centos 7 Install Nginx Php 7 Nginx Server Overview and Prerequisites Nginx is a highly popular open source web server and reverse proxy software, known for its scalability and performance…
- Vps Webserver Nginx Php7 Mysql Vps Webserver Nginx Php7 Mysql What Is VPS Webserver? A VPS webserver is a Virtual Private Server (VPS) that has been configured to act as a web server. A VPS…
- Nginx Reserve Proxy Ubuntu Docker Gunakanlah Format Penulisan Yang Efektif. Nginx Reverse Proxy Ubuntu Docker Apa Itu Nginx Reverse Proxy? Nginx reserve proxy merupakan sebuah software yang dirancang untuk membantu memproses HTTP requests. Nginx reverse…
- Iss My Website Use Apache Or Nginx Iss My Website Use Apache Or Nginx? What Is Apache? Apache is an open-source, free web server software maintained by the Apache Software Foundation. It runs on most operating systems,…
- 502 Bad Gateway Nginx 1.10.3 Ubuntu Php 502 Bad Gateway Nginx 1.10.3 Ubuntu Php What Is a 502 Bad Gateway Error? A 502 Bad Gateway error is an HTTP status code that indicates that one server received…
- Install Paid Ssl Nginx Ubuntu 18.04 Install Paid SSL Nginx Ubuntu 18.04 What Is Nginx? Nginx is an open-source web server and reverse proxy used in many applications worldwide. It is a lightweight, high-performance server that…
- There Are No Sites-Available Folder Nginx . There Are No Sites-Available Folder Nginx What is Nginx Server? Nginx is an open-source web server that is used to deliver webpages to users. It is a free and…
- Tutorial Install Nginx Di Ubuntu Vps Tutorial Install Nginx Di Ubuntu Vps Step 1: Install Nginx The first step to install nginx in your Ubuntu VPS is to install the nginx package. To do this, use…
- 404 Not Found Nginx Ubuntu 404 Not Found Nginx Ubuntu What is 404 Not Found Error? The 404 Not Found error is one of the most irritating status codes that can appear when someone attempts…
- Openldap Slapd Php Nginx Ldap Centos Openldap Slapd Php Nginx Ldap Centos What is OpenLDAP OpenLDAP is an open-source implementation of the Lightweight Directory Access Protocol (LDAP) and is offered by the OpenLDAP project. OpenLDAP is…
- Install Phpmyadmin Nginx Ubuntu 16.04 Php 7 Install Phpmyadmin Nginx Ubuntu 16.04 Php 7 Introduction to PhpMyAdmin PhpMyAdmin is a web-based tool that enables the users to manage their MySQL databases. It also provides a graphical interface…