HƯỚNG DẪN Cài đặt LEMP Server trên CentOS 7 với FastCGI

Thảo luận trong 'KIẾN THỨC VPS/SERVER' bắt đầu bởi quyet1990, 28/10/16.

  1. quyet1990

    quyet1990 New Member

    Tham gia ngày:
    22/10/16
    Bài viết:
    220
    Đã được thích:
    0
    Tài liệu này mô tả một bộ cài đặt thay thế tương thích với "LAMP" stack (Linux, Apache, MySQL, và PHP), được gọi là "LEMP."

    LEMP stack là một nhóm các phần mềm có thể được sử dụng để phục vụ các trang web động và các ứng dụng web. Đây là một từ viết tắt mô tả một hệ điều hành Linux, với một máy chủ web Nginx. Các dữ liệu được lưu trữ trong MySQL và được xử lý bằng PHP.

    Trong hướng dẫn này, chúng tôi sẽ hướng dẫn làm thế nào để cài đặt một LEMP stack trên một máy chủ Centos 7.

    Trước khi bạn bắt đầu bạn cần làm các công việc sau:
    Kiểm tra hostname

    Mã:
    hostname
    hostname -f
    
    Cập nhập hệ thống
    Mã:
     yum update
    Nginx Web Server
    Cài đặt và cấu hình
    1. Cài đặt từ gói EPEL:
    Quá trình cài đặt như sau:

    1. Cài đặt gói EPEL
    Mã:
    yum install epel-release
    
    2. Cài đặt nginx bằng yum
    Mã:
    yum install nginx 


    3. Tiến hành khởi động và cho phép nginx chạy lúc khởi động hệ thống
    Mã:
    systemctl start nginx.service
    systemctl enable nginx.service
    


    Cấu hình nginx Virtual Hosting
    Mở file cấu hình lên:
    Mã:
    vim /etc/nginx/nginx.conf
    Mã:
    server {
    listen  80;
    server_name www.example.com example.com;
    access_log /var/www/example.com/logs/access.log;
    error_log /var/www/example.com/logs/error.log;
      
    location / {
        root  /var/www/example.com/public_html;
        index index.html index.htm index.php;
        }
    }
    
    Ở đây ta cần quan tâm đến dòng server_name và dòng root. Thay thế dòng server_name với tên miền của bạn cần sử dụng, còn dòng root nơi bạn khai báo nơi để dữ liệu trang web của bạn.
    Theo cấu hình trên, tạo tạo ra thư mục như sau:

    Mã:
    mkdir -p /var/www/example.com/public_html
    
    Tạo 3 thư mục chứa dữ liệu liên quan virtual host
    Mã:
    mkdir -p /etc/nginx/site-available
    mkdir -p /etc/nginx/site-enable
    mkdir -p /etc/nginx/webdata
    
    • Thư mục site-available được dùng để chứa config nginx cho từng domain
    • Thư mục site-enable được dùng để kích hoạt cho domain chạy được nginx thông qua liên kết cứng - giữa site-available, chỉ những domain liên kết cứng mới được quyền chạy
    • Thư mục webdata được dùng chứa source của domain
    Thêm vào file cấu hình nginx.conf như sau:
    Mã:
    vim /etc/nginx/nginx.conf
    Mã:
    
    http{
    include mime.type;
    include /opt/nginx/site-enable/*.conf;
    server_names_hash_bucket_size 64;
    
    Khởi động lại nginx
    Mã:
    systemctl restart nginx.service
    
    Triển khai PHP với FastCGI
    Nếu ứng dụng của bạn bao gồm mã PHP bạn sẽ cần phải thực hiện những điều sau đây.
    Giải pháp "PHP-FastCGI" cho phép nginx có thể xử lý và phục vụ các trang có chứa mã PHP. Bắt đầu quá trình triển khai thực hiện các lệnh sau để cài đặt phụ thuộc yêu cầu:

    Mã:
    yum install php-cli php spawn-fcgi
    
    Tạo script cho quá trình xử lý php-cgi
    Mã:
    vim /usr/bin/php-fastcgi
    


    Mã:
    
    #!/bin/sh
    
    if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
       FASTCGI_USER=nginx
    elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
       FASTCGI_USER=www-data
    elif [ `grep -c "http" /etc/passwd` = "1" ]; then
       FASTCGI_USER=http
    else
    # Set the FASTCGI_USER variable below to the user that
    # you want to run the php-fastcgi processes as
    
    FASTCGI_USER=
    fi
    
    /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php-cgi
    


    Lệnh sau đây để làm cho script thực thi
    Mã:
    chmod +x /usr/bin/php-fastcgi
    


    Cấu hình PHP-FastCGI như một dịch vụ

    Khi PHP-FastCGI được cài đặt nó không tự động được thiết lập như là một dịch vụ trong systemd. Nếu bạn muốn dễ dàng kiểm soát PHP-FastCGI với systemd, bạn có thể cấu hình PHP-FastCGI như một dịch vụ systemd. Để làm điều này, bạn cần phải tạo một tập tin dịch vụ mà chỉ đường dẫn đến tập tin /usr/bin/php-fastcgi bạn đã tạo:
    Mã:
    vim /etc/systemd/system/php-fastcgi.service
    Mã:
    [Unit]
    Description=php-fastcgi systemd service script
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/php-fastcgi start
    
    [Install]
    WantedBy=multi-user.target
    
    Một khi tập tin đã được tạo ra, bạn sẽ cần phải tải lại systemd daemon, kích hoạt dịch vụ, sau đó khởi động nó:
    Mã:
    systemctl daemon-reload
    systemctl enable php-fastcgi.service
    systemctl start php-fastcgi.service
    


    MariaDB
    Cài đặt và cấu hình
    1. Cài gói MariaDB bằng lệnh yum:
    Mã:
    yum install mariadb-server
    
    2. Khởi động MariaDB lần đầu tiên và thiết lập chạy khi khởi động
    Mã:
    systemctl enable mariadb.service
    systemctl start mariadb.service
    
    3. Chạy mysql_secure_installation để cấu hình bảo mật MySQL
    Bạn sẽ được cung cấp tùy chọn để thay đổi mật khẩu gốc, loại bỏ tài khoản người dùng ẩn danh, vô hiệu hóa đăng nhập root bên ngoài của localhost, và loại bỏ các cơ sở dữ liệu, kiểm tra và tải lại đặc quyền.
    Mã:
    mysql_secure_installation
    Tạo cơ sở dữ liệu MariaDB
    1. Đăng nhập vào MariaDB

    Mã:
    mysql -u root -p
    
    2. Tạo cơ sở dữ liệu và user
    Mã:
    CREATE DATABASE mydomain;
    CREATE USER 'myuser' IDENTIFIED BY 'MyPassword';
    GRANT ALL PRIVILEGES ON mydomain.* to 'myuser';
    exit
    
    3. Thoát khỏi MariaDB
    Mã:
    quit
     

Chia sẻ trang này

Đang tải...