- Installing PHP
- Configure Nginx for PHP
- Creating a PHP File to Test Configuration
- How To Install Linux, Nginx, MySQL, PHP (LEMP stack) on Ubuntu 18.04
- Installing Nginx, MySQL, PHP (LEMP) Stack on Ubuntu 18.04
1.Installing PHP
$ sudo apt update $ sudo apt install php-fpm php-mysql
$ php --version
PHP 7.2.24-0ubuntu0.18.04.2 (cli) (built: Jan 13 2020 18:39:59) ( NTS )
Copyright (c) 1997-2018 The PHP Group
Zend Engine v3.2.0, Copyright (c) 1998-2018 Zend Technologies
with Zend OPcache v7.2.24-0ubuntu0.18.04.2, Copyright (c) 1999-2018, by Zend Technologies
$ ls /var/run/php/ php7.2-fpm.pid php7.2-fpm.sock
ชื่อไฟล์ php7.2-fpm.sock นี้จะเอาไปใส่เป็นค่า config ในไฟล์ /etc/nginx/sites-available/example.com
$ sudo systemctl status php7.2-fpm
● php7.2-fpm.service - The PHP 7.2 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.2-fpm.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2020-02-06 16:09:16 +07; 2min 25s ago
Docs: man:php-fpm7.2(8)
Main PID: 9117 (php-fpm7.2)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/sec"
Tasks: 3 (limit: 4915)
CGroup: /system.slice/php7.2-fpm.service
├─9117 php-fpm: master process (/etc/php/7.2/fpm/php-fpm.conf)
├─9118 php-fpm: pool www
└─9119 php-fpm: pool www
2.Configure Nginx for PHP
$ sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/example.com $ sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
root /var/www/html;
index index.php index.html index.htm index.nginx-debian.html;
server_name example.com;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
ยกเลิก default
$ sudo unlink /etc/nginx/sites-enabled/default
$ sudo systemctl reload nginx
$ sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
3.Creating a PHP File to Test Configuration
$ sudo nano /var/www/html/info.php
<?php phpinfo();
http://your_server_domain_or_IP/info.php