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:
- 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…
- Centos 7 Migrate From Apache To Nginx Centos 7 Migrate From Apache To Nginx Introduction CentOS 7 is a popular Linux operating system (OS) that is used in many businesses and organizations. It is a stable and…
- Remove Apache And Install Nginx Remove Apache And Install Nginx What is Apache and Nginx? Apache and Nginx are both popular web servers used to serve web pages and content to users on the web.…
- Nginx Php Fpm 7.2 Nginx Php Fpm 7.2 Introduction to Nginx and PHP-FPM Nginx is an open-source web server, reverse proxy server, and load balancer. It is known for being lightweight and fast, and…
- 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…
- Error Install Nginx On Ubuntu Error Install Nginx On Ubuntu What is Nginx? Nginx is a web server software used to host web applications. It is open source software developed by the open source community.…
- 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…
- Centos 7 Nginx Multiple Websites Centos 7 Nginx Multiple Websites Introduction Are you looking for a way to set up multiple websites on your CentOS 7 server utilizing the Nginx web server? If so, you’ve…
- Laravel 5.4 Vps Nginx Config File Centos 7 Laravel 5.4 VPS Nginx Config File Centos 7 What is a Nginx Config File? A config file is a settings file used by Nginx server to configure how it behaves…
- Reverse Proxies Nginx Centos 6 Reverse Proxies Nginx Centos 6 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…
- 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…
- Install Nginx Server On Centos 7 Install Nginx Server On Centos 7 What Is Nginx? Nginx is an open source web server and reverse proxy developed by Igor Sysoev in 2004. It is an efficient web…
- How To Config Nginx Upstream On Centos 7 How To Config Nginx Upstream On Centos 7 What is Nginx? Nginx is an open source, high performance web server and reverse proxy developed by Igor Sysoev in 2004. It…
- Install Phpmyadmin On Nginx Centos 7 Install Phpmyadmin On Nginx Centos 7 Introduction PhpMyAdmin is one of the most popular tools used to manage and administer a MySQL database. It is a web-based application and can…
- Cannot Start Nginx On Centos 7 Failed To Exec Airflow Cannot Start Nginx On Centos 7 Failed To Exec Airflow What Is Nginx in Centos 7? Nginx is an open source web server that powers some of the largest and…
- 502 Bad Gateway Nginx Fix Centos 502 Bad Gateway Nginx Fix Centos Introduction 502 Bad Gateway Nginx is an HTTP status code that indicates that the server transmitted an invalid response due to an error. This…
- 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…
- 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 On Centos 7 Rhel 7 How To Install Nginx On Centos 7 Rhel 7 Nginx is one of the most popular web servers around the globe – being an open-source application, it drives a large…
- Certbot Centos 7 Nginx Certificate Invalid Certbot Centos 7 Nginx Certificate Invalid What is Certbot & Centos 7 Nginx Certificate? Certbot is an open-source software project from the Electronic Frontier Foundation (EFF). It enables website owners…
- 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…
- 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 Phpmyadmin On Nginx Ubuntu 18.04 Install Phpmyadmin On Nginx Ubuntu 18.04 Introduction PhpMyAdmin is one of the most popular and widely used web-based database management tools available. It is used for administering, managing and maintaining…
- Remove Apache And Install Nginx Centos 7 Remove Apache And Install Nginx Centos 7 Introduction Apache is an open source HTTP server used for hosting websites and web applications on the web. Although Apache is reliable and…
- Remove Nginx Completely Centos 7 Remove Nginx Completely Centos 7 Overview This article will provide a brief overview of Nginx, some of the ways it can be removed from a Centos 7 system and directions…
- Install Nginx Php Mysql Phpmyadmin Centos 7 Install Nginx Php Mysql Phpmyadmin Centos 7 A Brief Overview of Centos 7 Centos 7 is a Linux distribution based on the Redhat Enterprise Linux Server, and is a popular…
- Nginx Dev Mapper Centos-Root Is 100 Full Nginx Dev Mapper CentOs-Root Is 100 Full What Is Nginx Dev Mapper? Nginx Dev Mapper is a file system space mapping tool for the Linux operating system and is shipped…
- 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…
- How To Install Nginx On Ubuntu 18.04 How To Install Nginx on Ubuntu 18.04 Introduction Nginx is a popular open-source web server and reverse proxy software that’s used by millions of websites. It’s the most widely used…
- 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…