- 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