Hướng dẫn chạy php trên nginx

1. Cài đặt Nginx
  • Các bạn cài đặt theo hướng dẫn của bài:Hướng dẫn cài đặt Nginx trên CentOS 7
2. Cài đặt MariaDB [MySQL]

Bước 1: Các bạn sử dụng câu lệnh yum để cài đặt

sudo yum install mariadb-server mariadb

Bước 2: Tiến hành kích hoạt dịch vụ MariaDB

sudo systemctl start mariadb

Bước 3: Để tiến hành những thiết lập ban đầu cho MySQL, bạn chạy câu lệnh

sudo mysql_secure_installation

Bước 3: Kích hoạt MariaDB khởi chạy cùng hệ thống

sudo systemctl enable mariadb

 

3. Cài đặt PHP

Bước 1: Cài đặt REMI Repository

sudo yum install //rpms.remirepo.net/enterprise/remi-release-7.rpm

Bước 2: Tiến hành tìm kiếm các repo chứa bản PHP mà chúng ta cần

yum --disablerepo="*" --enablerepo="remi-safe" list php[7-9][0-9].x86_64

Chúng ta có thể thấy có rất nhiều bản PHP từ 7.0 tới 8.0 trong hình

Bước 3: Chẳng hạn ở đây tôi muốn cài PHP7.4 nên chúng ta sẽ kích hoạt repo tương ứng

sudo yum install yum-utils - y


sudo yum-config-manager --enable remi-php74

Bước 4: Tiến hành cài đặt PHP

sudo yum install php php-mysqlnd php-fpm

Bước 5: Kiểm tra phiên bản PHP xem đã cài đặt đúng chưa

php -v

Bước 6: Tiến hành chỉnh sửa file cấu hình của PHP

yum install nano -y

sudo nano /etc/php-fpm.d/www.conf

Tìm tới đoạn sau

Sửa Apache thành Nginx

Tìm tới dòng listen =

Và sửa thành:

sudo systemctl start mariadb
0

Tìm tới đoạn này

Sửa lại thành

sudo systemctl start mariadb
1

Cuối cùng lưu files lại

Bước 5: Tiến hành kích hoạt PHP-FPM

sudo systemctl start mariadb
24. Cấu hình NGINX để xử lí file PHP

Bước 1: Mở file cấu hình NGINX

sudo systemctl start mariadb
3

Dán vào đoạn cấu hình sau

sudo systemctl start mariadb
4

Bước 2: Khởi chạy lại NGINX

sudo systemctl start mariadb
55. Kiểm tra PHP đã hoạt động hay chưa

Bước 1: Tạo ra một file info.php

sudo systemctl start mariadb
6

Gõ nội dung sau vào

sudo systemctl start mariadb
7

Bước 2: Truy cập domain/info.php thấy như hình là thành công

 

Bài này dành cho ai đang cần deploy PHP mà k dùng Apache, thích dùng Nginx hơn cơ [như mình chẳng hạn]. Blog này cũng đang sử dụng WordPress nên mình cũng note lại các bước để nhỡ đâu sau này chính mình lại cần tới nó 😀

1. Nginx

Nguồn tham khảo: //www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-18-04

$ sudo apt update
$ sudo apt install nginx
$ sudo ufw allow 'Nginx Full'

Check cài đặt thành công chưa?

$ systemctl status nginx

Lúc này bạn có thể truy cập bằng trình duyệt tới đường dẫn IP của server tại port 80 [hoặc gõ tên domain nếu đã gắn domain], nó sẽ hiển thị trang landing page mặc định của Nginx.

Trang landing này nằm ở thư mục

$ systemctl status nginx
4, bạn có thể edit lại source code html của nó tùy theo nhu cầu của mình 😀

2. MySQL

Cài đặt MySQL và tạo user root:

$ sudo apt install mysql-server
$ sudo mysql_secure_installation

Kiểm tra MySQL có chặn kết nối từ remote không nhé, nếu có thì mình thiết lập bỏ tính năng đó

$ sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# Instead of skip-networking the default is now to listen only on
# localhost which is more compatible and is not less secure.
# bind-address = 127.0.0.1
# Xóa/Comment cái dòng bên trên lại nha
$ sudo service mysql restart
$ sudo ufw allow 3306/tcp

[Nếu bạn không dùng WordPress, hãy bỏ qua và chuyển sang bước 3]

$ mysql -u root -p

Nhập password của user root vừa tạo, sau đó tạo user và DB dành riêng cho WordPress:

mysql> CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
mysql> GRANT ALL ON wordpress.* TO 'wordpressuser'@'%' IDENTIFIED BY 'password';

3. PHP

$ sudo add-apt-repository universe
$ sudo apt install php-fpm php-mysql

Tích hợp PHP với Nginx:

$ sudo nano /etc/nginx/sites-available/example.com

Bạn có thể thay example.com bằng bất cứ tên nào mình tùy thích, tốt nhất là đặt theo domain hoặc tên của project, vì có thể sau này mình sẽ gặp trường hợp deploy nhiều project/domain trên cùng 1 máy.

$ systemctl status nginx
0
$ systemctl status nginx
1

Test config và reload nếu không có lỗi:

$ systemctl status nginx
2

Đến đây là đã kết thúc, mình chạy WordPress trên subdomain nên nếu bạn nào tham khảo cấu hình cho subdomain thì có thể xem bên dưới nha:

Chủ Đề