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:
- 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…
- 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…
- 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…
- User Nginx Does Not Exist Centos User Nginx Does Not Exist Centos What is Nginx? Nginx, pronounced “engine-x”, is an open source web server, reverse proxy server, IMAP/POP3 proxy server, and HTTP cache server. Nginx has…
- 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…
- 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…
- Install Nginx In Ubuntu 16.04 Install Nginx In Ubuntu 16.04 Overview of Nginx Nginx (pronounced "engine-x") is an open-source Web server that is designed to provide a balance of flexibility, performance, and scalability. It is…
- 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…
- 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…
- 502 Bad Gateway Nginx Centos Gcloud 502 Bad Gateway Nginx Centos Gcloud What is a 502 Bad Gateway Error? The 502 Bad Gateway error is an HTTP status code that occurs when a server, like a…
- Install Web Server Nginx Centos 7 Install Web Server Nginx Centos 7 Introduction Are you looking for a way to set up a web server on your Linux-based system? If so, then installing Nginx on CentOS…
- How To Install Php 5 Nginx Centos How To Install Php 5 Nginx Centos What Is PHP 5 Nginx Centos? PHP 5 Nginx Centos is an open source web server software that is optimised to serve dynamic…
- How To Install Nginx On Debian 10 How To Install Nginx On Debian 10 Overview In this guide, we will show how to install Nginx on a Debian 10 server. Nginx (pronounced “engine-x”) is an open source…
- 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.…
- 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…
- 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…
- Centos 6 Nginx Phpmyadmin Forbideen Centos 6 Nginx Phpmyadmin Forbidden Introduction CentOS 6, an open-source Linux operating system, is one of the most popular web server operating systems. It is considered to be a reliable…
- 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…
- 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 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.…
- Start Nginx Service Centos 7 Start Nginx Service Centos 7 Before You Start: Server and Requirements If you are running a website or a web application on Centos 7, chances are you will be using…
- 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…
- Setup Centos 7 Nginx With Php Setup Centos 7 Nginx With Php Overview of Centos7 Nginx and PHP Centos 7 is one of the most popular operating systems for web servers. Many businesses use Centos 7…
- Centos 6 Nginx Connection Timeout Centos 6 Nginx Connection Timeout Understanding What is a Connection Timeout? A connection timeout is when a particular connection has not completed the necessary steps for establishing a full connection…
- Step By Step Install Nginx And Phpmyadmin On Ubuntu Step By Step Install Nginx And Phpmyadmin On Ubuntu Introduction Setting up a web server on Ubuntu is easy and straightforward. Nginx is a popular web server for Ubuntu, and…
- Nginx Service Is Failed On Centos 7 Nginx Service Is Failed On Centos 7 Introduction Nginx is an open source Web server and a reverse proxy for HTTP, SMTP, POP3 and IMAP protocols. It can also be…
- 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…
- 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…
- 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…
- 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…