5) Install PHP-FPM & PHP modules
Use the below command to install PHP-FPM & PHP modules. PHP initially called Personal Home Page, now it is called as Hypertext Preprocessor. PHP is a open source software which is designed for web development purpose. It is used for server-side scripting language as well as general-purpose programming language.
[Install php]
$ sudo dnf install php php-fpm php-mysql php-gd php-mcrypt php-mbstring
Configure PHP
We need to make small changes on php.ini file to make it work php-fpm properly. open php.ini file on your favorite text editor and find cgi.fix_pathinfo=
then uncomment it and change from 1 to 0.
[php.ini] $ sudo nano /etc/php.ini cgi.fix_pathinfo=0
open the file /etc/php-fpm.d/www.conf
and change the user and group values from apache
to nginx
.
[www.conf] $ sudo nano /etc/php-fpm.d/www.conf user = nginx group = nginx
Save and close the file. Restart php–fpm service
$ sudo systemctl restart php-fpm.service
6) Nginx Configuration
Need to make lots of changes on your Nginx config file to make it Nginx work properly. Open /etc/nginx/nginx.conf file on your favorite text editor and change worker_processes values according your CPU count. For CPU count use lscpu command. I’m having 4 CPU’s that’s why i added 4. Also check Nginx User, it should be www-data
$ nano /etc/nginx/nginx.conf user nginx; worker_processes 4;
Open /etc/nginx/nginx.conf
file on your favorite text editor and uncomment below lines. Also add/modify below colored lines on your file. I have removed all the unwanted lines from this file for clear explanation. Add your FQDN (server.2daygeek.com) instead of us.
$ sudo nano /etc/nginx/nginx.conf # Web root location & port listening # server { listen 80 default_server; listen [::]:80 default_server; server_name fedora.2daygeek.com; root /usr/share/nginx/html; # Redirect server error pages to the static page # location / { try_files $uri $uri/ /index.php; } # Pass the PHP scripts to FastCGI server # location ~ \.php$ { try_files $uri =404; root /usr/share/nginx/html; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_index index.php; include fastcgi_params; } error_page 404 /404.html; location = /40x.html { } error_page 500 502 503 504 /50x.html; location = /50x.html { } }