Cài đặt nginx

skins

New member
Tham gia
6 Tháng bảy 2024
Bài viết
19
Reaction score
0
Dưới đây là hướng dẫn chi tiết về cách tạo và cấu hình virtual host (vhost) trong Nginx để xử lý các tệp PHP bằng cách sử dụng PHP-FPM. Việc này giúp tăng hiệu suất và khả năng mở rộng của ứng dụng web. Hướng dẫn bao gồm các bước cài đặt Nginx và PHP-FPM, tạo tệp cấu hình cho virtual host, định nghĩa các chỉ thị server, root, và index, cũng như thiết lập location block để xử lý tệp PHP thông qua PHP-FPM. Kết thúc bằng việc kích hoạt virtual host và khởi động lại Nginx để áp dụng thay đổi.

1. Cài đặt Nginx​

Thực hiện lệnh sau để tạo ra file /etc/yum.repos.d/nginx.repo

Bash:
echo "
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true" > /etc/yum.repos.d/nginx.repo


Thực hiện lệnh cài đặt
Bash:
yum-config-manager --enable nginx-mainline
yum install epel-release
yum install yum-utils
yum update
yum install nginx
# kích hoạt dịch vụ
systemctl enable nginx
# Chạy dịch vụ
systemctl start nginx



2. Cài đặt PHP​

Để vhost có thể xử lý các tệp PHP, bạn cần cài đặt PHP, PHP-FPM và các phần mở rộng liên quan.

Bash:
yum install -y php-common php-bcmath php-cli php-devel php-mcrypt php-mysql php-password-compat php-pclzip php-pdo php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-dba php-embedded php-enchant php-mbstring php-intl libssh2 php-pecl-ssh2 php-pecl-memcached php-pecl-memcache php-fpm


Chỉnh sửa file cấu hình PHP-FPM:

Bash:
sed -i 's/user = apache/user = nginx/g' /etc/php-fpm.d/www.conf
sed -i 's/group = apache/group = nginx/g' /etc/php-fpm.d/www.conf
service php-fpm restart



3. Cấu hình Virtual Host​

Truy cập vào thư mục chứa file cấu hình của Nginx:

Bash:
cd /etc/nginx/


Backup lại file nginx.conf:

Bash:
mv nginx.conf nginx.conf.bak


Tạo file cấu hình Nginx mới:

Bash:
cat >> nginx.conf << "EOF"
user  nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
 '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
 #tcp_nopush     on;

    keepalive_timeout  65;

 #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}
EOF


Truy cập vào thư mục chứa mã nguồn của các website và tạo thư mục riêng cho site kienthuclinux.info:

Bash:
cd /var/www/
mkdir kienthuclinux.info


Truy cập thư mục chứa các file cấu hình của virtual host:

Bash:
cd /etc/nginx/conf.d/



Backup file cấu hình mặc định:

Bash:
mv default.conf default.conf.bak


Tạo virtual host mới trong Nginx:

Bash:
cat >> kienthuclinux.info.conf << "EOF"
server {
    listen       80;
    server_name  kienthuclinux.info;
    access_log /var/logs/nginx/kienthuclinux.info-access_log;
    error_log /var/logs/nginx/kienthuclinux.info-error_log;

    location / {
        root   /var/www/kienthuclinux.info;
        index  index.html index.php index.htm;
    }

    location ~ \.php$ {
        root           /var/www/kienthuclinux.info;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;
        include        fastcgi_params;
    }
}
EOF


Tạo thư mục chứa log cho vhost:

Bash:
mkdir /var/logs/nginx

Kiểm tra cú pháp nginx trước khi restart lại nginx
Bash:
nginx -t

Restart lại service Nginx:

Bash:
service nginx restart


4. Kiểm tra Virtual Host​

Truy cập vào thư mục chứa mã nguồn của site kienthuclinux.info:

Bash:
cd /var/www/kienthuclinux.info


Tạo file info.php để kiểm tra:

Bash:
cat >> info.php << "EOF"
<?php
phpinfo();
?>
EOF


Truy cập vào địa chỉ http://kienthuclinux.info/info.php để kiểm tra.

 
Top Bottom