Thứ năm, 07/06/2012 | 00:00 GMT+7

Cách thiết lập server ảo nginx (server block) trên CentOS 6


Giới thiệu về Server ảo

Server ảo được sử dụng để chạy nhiều hơn một trang web hoặc domain trên một server riêng ảo. Lưu ý: theo trang web nginx, Server ảo được gọi là Khối server trên nginx. Tuy nhiên, để dễ dàng so sánh với Apache, tôi sẽ gọi chúng là server ảo trong suốt hướng dẫn này.

Giới thiệu

Đảm bảo rằng nginx đã được cài đặt trên VPS của bạn. Nếu chưa, bạn có thể nhanh chóng cài đặt bằng 2 bước.

Cài đặt kho EPEL:

 su -c 'rpm -Uvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'

Cài đặt nginx

yum install nginx

Bước một— Tạo một folder mới

Bước đầu tiên trong việc tạo một server ảo là tạo một folder nơi ta sẽ lưu giữ thông tin của trang web mới.

Vị trí này sẽ là Gốc tài liệu của bạn trong file cấu hình ảo Nginx sau này. Bằng cách thêm -p vào dòng mã, lệnh sẽ tự động tạo tất cả các file cha cho folder mới.

sudo mkdir -p /var/www/example.com/public_html

Bạn cần chỉ định một domain thực tế được phê duyệt DNS hoặc một địa chỉ IP để kiểm tra xem server ảo có đang hoạt động hay không. Trong hướng dẫn này, ta sẽ sử dụng example.com làm trình giữ chỗ cho một domain chính xác.

Tuy nhiên, nếu bạn muốn sử dụng domain chưa được phê duyệt để kiểm tra quá trình, bạn sẽ tìm thấy thông tin về cách làm cho nó hoạt động trên máy tính local của bạn ở Bước thứ sáu.

Bước hai — Cấp quyền

Ta cần cấp quyền sở hữu folder cho đúng user , thay vì chỉ giữ nó trên hệ thống root . Bạn có thể thay thế "www" bên dưới bằng tên user thích hợp.

sudo chown -R www:www /var/www/example.com/public_html

Ngoài ra, điều quan trọng là đảm bảo mọi người đều có thể đọc các file mới của ta .

sudo chmod 755 /var/www

Đến đây bạn đã hoàn thành tất cả các quyền.

Bước ba— Tạo trang

Ta cần tạo một file mới có tên là index.html trong folder mà ta đã tạo trước đó.

sudo vi /var/www/example.com/public_html/index.html

Ta có thể thêm một số văn bản vào file để ta sẽ có thứ gì đó để xem xét khi trang web chuyển hướng đến server ảo.

<html>
  <head>
    <title>www.example.com</title>
  </head>
  <body>
    <h1>Success: You Have Set Up a Virtual Host</h1>
  </body>
</html>

Lưu và thoát

Bước bốn — Cài đặt server ảo

Bước tiếp theo là nhập vào chính file cấu hình nginx.

sudo vi /etc/nginx/conf.d/virtual.conf

Tệp server ảo đã được cài đặt gần như hoàn toàn trên server ảo của bạn. Để kết thúc, chỉ cần trùng với cấu hình sau, sửa đổi tên server và vị trí file nếu cần:

#
# A virtual host using mix of IP-, name-, and port-based configuration
#

server {
    listen       80;
#    listen       *:80;
    server_name  example.com;

    location / {
        root   /var/www/example.com/public_html/;
         index  index.html index.htm;
    }
}

Lưu và thoát.

Bước năm — Khởi động lại nginx

Ta đã thực hiện rất nhiều thay đổi đối với cấu hình. Khởi động lại nginx và hiển thị các thay đổi.

/etc/init.d/nginx restart

Bước 6 Tùy chọn — Cài đặt Server Cục bộ

Nếu bạn đang sử dụng domain hoặc địa chỉ IP thực để kiểm tra server ảo của bạn , bạn không cần cài đặt server local . Tuy nhiên, nếu bạn đang sử dụng một domain chung mà bạn không sở hữu, điều này sẽ đảm bảo , chỉ trên máy tính của bạn, bạn mới có thể tùy chỉnh domain đó.

Đối với bước này, hãy đảm bảo bạn đang sử dụng chính máy tính, không phải VPS của bạn.

Để tiến hành bước này, bạn cần biết password quản trị của máy tính, nếu không, bạn cần sử dụng domain thực hoặc địa chỉ IP của bạn để kiểm tra các server ảo.

Giả sử rằng bạn có quyền truy cập administrator (có được bằng lệnh su và nhập password chính xác) thì đây là cách bạn có thể cài đặt các server local .

Trên máy tính local của bạn, hãy nhập:

nano /etc/hosts

Bạn có thể thêm chi tiết của server local vào file này, như được thấy trong ví dụ bên dưới. Miễn là dòng địa chỉ IP và tên server ở đó, hướng trình duyệt của bạn đến, chẳng hạn, example.com sẽ cung cấp cho bạn tất cả các chi tiết server ảo cho địa chỉ IP tương ứng mà bạn đã chỉ định.

# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost

#Virtual Hosts 
12.34.56.789    www.example.com 

Tuy nhiên, bạn nên xóa các địa chỉ đã tạo này ra khỏi folder server local khi bạn hoàn tất để tránh bất kỳ sự nhầm lẫn nào trong tương lai.

Bước bảy — Xem Server ảo của bạn đang hoạt động

Sau khi cài đặt xong server ảo, bạn có thể xem giao diện trực tuyến của nó. Trỏ trình duyệt của bạn đến domain hoặc địa chỉ IP của bạn và bạn sẽ thấy trang hiển thị "Thành công — Bạn đã cài đặt server ảo"

Thêm nhiều server ảo hơn

Để tạo thêm server ảo, bạn có thể lặp lại quy trình trên, cẩn thận cài đặt root tài liệu mới với domain mới thích hợp mỗi lần. Sau đó, chỉ cần copy paste thông tin Server ảo mới vào file nginx Config, như hình dưới đây

#
# A virtual host using mix of IP-, name-, and port-based configuration
#

server {
    listen       80;
#    listen       *:80;
    server_name  example.com;

    location / {
        root   /var/www/example.com/public_html/;
         index  index.html index.htm;
    }
}


server {
    listen       80;
#    listen       *:80;
    server_name  example.org;

    location / {
        root   /var/www/example.org/public_html/;
         index  index.html index.htm;
    }
}
Bởi Etel Sverdlov

Tags:

Các tin liên quan

Cách cài đặt Rails và nginx với Passenger trên Ubuntu
2012-06-01
Cách cài đặt nginx trên CentOS 6 với yum
2012-05-22