Install Nginx Php Fpm Centos 7
Prerequisites
Before you start installing Nginx and Php-Fpm on CentOS 7, make sure the following prerequisites are in place.
- CentOS 7 must be installed onto your machine.
- Create a new user to run the Nginx web server.
- The firewall should be disabled or opened up to allow access to Nginx server.
- If you are using SELinux, ensure it is in permissive mode.
- Make sure all the packages are up to date.
Now let’s start the installation.
Installing Nginx
Nginx is available in the default CentOS 7 repositories. To install it, issue the following command.
$ yum install nginx
Confirm if you need to install any additional packages and type y to continue.
Is this ok [y/d/N]: y
Once Nginx is installed, start its services and enable it to start automatically on system reboot.
$ systemctl start nginx
$ systemctl enable nginx
You can verify the status of the Nginx service by running the following command.
$ systemctl status nginx
Now check whether Nginx is running successfully by visiting the machine’s IP address in web browser.
Installing PHP-FPM
To install PHP-FPM, issue the following command.
$ yum install php php-fpm
Press y to confirm if you need to install any additional packages.
Is this ok [y/d/N]: y
Now start the PHP-FPM service and make sure it starts automatically on system reboot.
$ systemctl start php-fpm
$ systemctl enable php-fpm
You can verify the status of the PHP-FPM service by running the following command.
$ systemctl status php-fpm
Configure Nginx for PHP-FPM
By default, Nginx uses the /usr/share/nginx/html directory for serving the website files. To configure Nginx to serve PHP, open its configuration file.
$ nano /etc/nginx/conf.d/default.conf
And add the below lines of code at the end of the file.
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Save the changes and exit the file. Now, create a PHP file for testing the setup. Create a symbolic link of this file in the web document root directory.
$ touch /usr/share/nginx/html/test.php
$ ln -s /usr/share/nginx/html/test.php /var/www/html/test.php
Then, open the test.php file and add the following code to it.
phpinfo();
?>
Save the file and restart the Nginx service.
$ systemctl restart nginx
Now open the URL http://your_server_ip/test.php in your web browser. If you see the output of ., then your setup was successful.
Configuring SELinux
By default, SELinux blocks access to Nginx. You need to update the SELinux rules to allow Nginx access. To do that, install the policycoreutils package, which includes the semanage commands.
$ yum install policycoreutils-python
Now, run the following command. This command will create the necessary SELinux rules to allow access to Nginx.
$ semanage port -a -t http_port_t -p tcp 8080
Now restart the Nginx service to apply the SELinux rule changes.
$ systemctl restart nginx
Configuring Firewall
If you have a firewall enabled, you need to open the TCP port 8080 that we used to serve the Nginx server. To do that, run the following command.
$ firewall-cmd --permanent --zone=public --add-port=8080/tcp
$ firewall-cmd --reload
Now you can access the server using port 8080.
Conclusion
In this article, we have seen how to install and configure Nginx and PHP-FPM on CentOS 7. We also discussed configuring SELinux and firewall in order to make our setup work correctly.
FAQs
Q1. How do I confirm that Nginx is running?
Answer: The easiest way to confirm that Nginx is running is to visit the machine’s IP address in web browser.
Q2. How do I check PHP-FPM service status?
Answer: To check the status of PHP-FPM, use the command `systemctl status php-fpm`.
Q3. How do I configure Nginx for PHP-FPM?
Answer: To configure Nginx for PHP-FPM, open the `/etc/nginx/conf.d/default.conf` file and add the following lines of code at the end.
location ~ .php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
Thank you for reading this article. If you liked this article, please consider checking out our other articles.
Related Posts:
- E Unable To Locate Package Nginx E Unable To Locate Package Nginx What is Nginx? Nginx is an open-source web server and reverse proxy that is used for hosting websites, web applications, and other network services.…
- Nginx Proxy Cache Redis Wordpress Centos Nginx Proxy Cache Redis Wordpress Centos Understanding Nginx Proxy Cache Nginx Proxy Cache is a web-acceleration software from Nginx, Inc. It is designed to speed up dynamic web content delivery.…
- Create Virtual Host Nginx Centos 7 Create Virtual Host Nginx Centos 7 What is a Virtual Host? A virtual host is a server hosting multiple domain names on the same web server. This type of hosting…
- 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…
- 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…
- Setting Proxy Nginx Centos 7 Setting Proxy Nginx Centos 7 Introduction Setting up a proxy server on a CentOS 7 server is a relatively straightforward task. Nginx is a powerful open source reverse proxy server…
- Install Nginx With Waf Centos 7 Install Nginx With Waf Centos 7 Overview Nginx is a popular open-source web server used for hosting websites and applications. It is widely used due to its high performance, efficient…
- Reverse Proxy Nginx Centos 7 Reverse Proxy Nginx Centos 7 What is a Reverse Proxy? A reverse proxy is a type of proxy server that retrieves resources on behalf of a client from one or…
- Centos 6 Nginx Multiple Php Version Centos 6 Nginx Multiple PHP Versions What is CentOS 6? CentOS 6 is a Linux-based operating system. It is a free, open-source operating system that is based on Red Hat…
- Install Nginx And Php On Ubuntu Install Nginx And Php On Ubuntu A Comprehensive Tutorial to Install Nginx And Php On Ubuntu Nginx and PHP are two of the most popular web server and scripting language…
- Centos 7 Nginx Error Log Not Write Centos 7 Nginx Error Log Not Write What is Nginx? Nginx is an open source web server and web application framework created by Igor Sysoev for the common website hosting…
- Install Php5 Nginx Ubuntu 18.04 Install PHP5 Nginx Ubuntu 18.04 Understanding The Basics of Nginx and PHP Before we learn how to install Nginx and PHP on Ubuntu 18.04, it’s important to understand the basic…
- 404 Nginx Phpmyadmin Centos 7 404 Nginx Phpmyadmin Centos 7 Configuration of Nginx on Centos 7 for Phpmyadmin Setting up Nginx on Centos 7 to work with Phpmyadmin is a very simple process. The first…
- Nginx What's Folder Dev Mapper Centos-Root Nginx What's Folder Dev Mapper Centos-Root What Is Nginx? Nginx is an open source web server created in 2004 by Igor Sysoev. It is a high-performance web server with a…
- How To Ufw Allow Nginx Http Digital Ocean How To Ufw Allow Nginx Http Digital Ocean Introduction There are many ways to setup your web hosting on Digital Ocean and one of the recommended ways is to use…
- Ldap Not Found Centos Nginx Php Ldap Not Found Centos Nginx Php What is LDAP? LDAP, or Lightweight Directory Access Protocol, is a standard protocol for storing user and server information over a network. It is…
- 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…
- Nginx Docker Swarm Config With Defferent Server Nginx Docker Swarm Config With Different Server Introduction to Nginx and Docker Nginx is a popular open-source web server that is used for serving static content, as well as for…
- Install Nginx And Php On Ubuntu 18.04 Install Nginx And Php On Ubuntu 18.04 Introduction In this article, we will guide you on how to install Nginx and php on Ubuntu 18.04. Nginx is a popular web…
- Install Php Nginx Mysql Ubuntu 18.04 Install Php Nginx Mysql Ubuntu 18.04 What is PHP, Nginx, and MySQL PHP is a popular and powerful scripting language that can be used to create dynamic web pages, web…
- How To Start Nginx On Centos 7 How To Start Nginx On Centos 7 Overview Nginx is a high-performance web server that is used to serve web pages and applications. It is a widely-used open source software…
- Web Server Nginx Install Di Centos 7 Web Server Nginx Install Di Centos 7 Introduction to Nginx Nginx is a popular open source web server used to host websites and other applications. It is known for its…
- Install Php Nginx Ubuntu 12.04 Install Php Nginx Ubuntu 12.04 Introduction Welcome to our guide on How to install PHP, Nginx & MySQL on Ubuntu 12.04 LTS. This guide should work on other Linux VPS…
- Certbot Centos 7 Nginx Staging Certbot Centos 7 Nginx Staging: An Easy Step By Step Guide What Is Certbot? Certbot is a free, open-source software tool that allows you to easily obtain digital certificates from…
- Nginx Reverse Proxy Apache Centos Nginx Reverse Proxy Apache Centos Overview Nginx is one of the most popular web servers on the internet, used by millions of people to host websites, applications, and services. It…
- Installing Nginx On Centos 7 Installing Nginx On Centos 7 What is Nginx? Nginx is an open source, high performance web server software. It is commonly used for caching static web pages to speed up…
- Install Nginx Ubuntu Server 16.04 Install Nginx Ubuntu Server 16.04 Introduction to Nginx Nginx is a high performance web server and reverse proxy. It is normally used for serving static content such as images, static…
- Install Mariadb Nginx Debian 9.7 Install Mariadb and Nginx on Debian 9.7 Overview of Installing MariaDB and Nginx on Debian 9.7 Installing MariaDB and Nginx on Debian 9.7 can be an essential step when setting…
- How To Hide Nginx In Centos 7 How To Hide Nginx In Centos 7 What is Nginx? Nginx is a powerful web server and is one of the most popular web server software available today. It's a…
- How To Install Cachet Nginx How To Install Cachet Nginx Overview Cachet is an open-source monitoring platform that is widely used by web developers, DevOps engineers, and system administrators for monitoring the performance of a…