web_server:cai-dat-server-chi-tai-cao
Khác biệt
Đây là những khác biệt giữa hai phiên bản của trang.
Phiên bản trước của cả hai bênPhiên bản trướcPhiên bản sau | Phiên bản trước | ||
web_server:cai-dat-server-chi-tai-cao [2015/12/06 18:26] – vuthao | web_server:cai-dat-server-chi-tai-cao [2015/12/11 11:19] (hiện tại) – vuthao | ||
---|---|---|---|
Dòng 6: | Dòng 6: | ||
===== 1) Mô hình áp dụng: ===== | ===== 1) Mô hình áp dụng: ===== | ||
- | Mô hình này được bạn Việt bên 123host đưa ra | + | Mô hình này được bạn Việt bên 123host đưa ra. Vũ Thảo là người thực hiện |
{{: | {{: | ||
Dòng 17: | Dòng 17: | ||
Mô hình này là mô hình này mình cố tình làm đơn giản nhất để phù hợp với cộng đồng. Ngoài các chú thích đã có trên hình, có một số lưu ý như sau: | Mô hình này là mô hình này mình cố tình làm đơn giản nhất để phù hợp với cộng đồng. Ngoài các chú thích đã có trên hình, có một số lưu ý như sau: | ||
- | **Server lb1.nukeivet.vn:** | + | **Server lb1.nukeviet.vn:** |
Hiện chỉ chạy 1 mình, chưa có server dự phòng cho nó (HA - high availability). Nếu cần, mình sẽ lên một mô hình HA đầy đủ, tuy nhiên sẽ sử dụng thêm một số công nghệ phức tạp nên ban đầu mình sẽ không đưa vào. | Hiện chỉ chạy 1 mình, chưa có server dự phòng cho nó (HA - high availability). Nếu cần, mình sẽ lên một mô hình HA đầy đủ, tuy nhiên sẽ sử dụng thêm một số công nghệ phức tạp nên ban đầu mình sẽ không đưa vào. | ||
Dòng 39: | Dòng 39: | ||
Nukeviet sử dụng default session của server thì có thể dùng Memcache để lưu session tập trung tại server lb1.nukeviet.vn (cấu hình session.handler và session.save_path tại php.ini) | Nukeviet sử dụng default session của server thì có thể dùng Memcache để lưu session tập trung tại server lb1.nukeviet.vn (cấu hình session.handler và session.save_path tại php.ini) | ||
+ | ===== 3) Tiến hành Cài đặt | ||
- | ===== 3) Cấu hình server | + | '' |
+ | - Xây dựng hệ thống MySQL master/ | ||
+ | |||
+ | ==== Cài đặt Nginx trên lb1.nukeviet.vn ==== | ||
Sử dụng hệ điều hành CentOS 7.1, server này có 2 cạc mạng | Sử dụng hệ điều hành CentOS 7.1, server này có 2 cạc mạng | ||
< | < | ||
Public Network 192.168.100.101 để nối thẳng ra internet | Public Network 192.168.100.101 để nối thẳng ra internet | ||
- | Private Network 192.168.200.100 để kết nối với các server nội bộ. | + | Private Network 192.168.56.100 để kết nối với các server nội bộ. |
</ | </ | ||
Dòng 110: | Dòng 114: | ||
Khởi động lại nginx: sudo systemctl restart nginx sau đó truy cập vào địa chỉ IP để kiểm tra | Khởi động lại nginx: sudo systemctl restart nginx sau đó truy cập vào địa chỉ IP để kiểm tra | ||
+ | ==== Cài đặt Memcached | ||
+ | Có thể cài đặt trên lb1.nukeviet.vn, | ||
+ | < | ||
+ | yum install -y memcached | ||
+ | sudo systemctl start memcached | ||
+ | sudo systemctl enable memcached | ||
+ | </ | ||
- | **Bước 5: Cài đặt PHP** | + | Open Memcached Port (11211) on Firewall: |
+ | < | ||
+ | firewall-cmd --zone=internal --add-source=192.168.56.101/ | ||
+ | firewall-cmd --zone=internal --add-source=192.168.56.102/ | ||
+ | firewall-cmd --zone=internal --add-source=192.168.56.103/ | ||
+ | firewall-cmd --zone=internal --add-port=11211/ | ||
+ | firewall-cmd --reload | ||
+ | </ | ||
+ | |||
+ | ==== Cài đặt PHP trên webapp1.nukeviet.vn ==== | ||
+ | Trước khi cài đặt, hãy tiến hành tắt SELinux đi bằng cách mở file / | ||
+ | |||
+ | SELINUX= rồi sửa thành như dưới đây: | ||
+ | < | ||
+ | SELINUX=disabled | ||
+ | </ | ||
+ | Sửa xong, hãy gõ lệnh reboot để khởi động lại máy chủ và đăng nhập vào lại SSH. | ||
Cài CentOS 7.1 epel repository | Cài CentOS 7.1 epel repository | ||
Dòng 122: | Dòng 149: | ||
< | < | ||
- | yum --enablerepo=remi, | + | yum --enablerepo=remi, |
</ | </ | ||
Dòng 138: | Dòng 165: | ||
</ | </ | ||
+ | Open Port on Firewall: | ||
+ | < | ||
+ | firewall-cmd --zone=internal --add-source=192.168.56.100/ | ||
+ | firewall-cmd --zone=internal --add-port=9000/ | ||
+ | firewall-cmd --reload | ||
+ | </ | ||
+ | ** Thiết lập lại user và group chạy PHP ** | ||
+ | |||
+ | Mặc định PHP-FPM sẽ chỉ định user tên là apache và group tên apache để chạy nó, nhưng ở đây chúng ta không sử dụng Apache mà là NGINX nên bạn cần mở file / | ||
+ | |||
+ | < | ||
+ | user = apache | ||
+ | ; RPM: Keep a group allowed to write in log dir. | ||
+ | group = apache | ||
+ | </ | ||
+ | |||
+ | Thay thành | ||
+ | < | ||
+ | user = nginx | ||
+ | ; RPM: Keep a group allowed to write in log dir. | ||
+ | group = nginx | ||
+ | </ | ||
+ | |||
+ | |||
+ | Bây giờ bạn hãy mở file default.conf trong thư mục / | ||
+ | Thêm lên trên cùng đoạn: | ||
+ | < | ||
+ | upstream fpm_nukeviet { | ||
+ | #ip_hash; | ||
+ | server 192.168.56.101: | ||
+ | server 192.168.56.102: | ||
+ | server 192.168.56.103: | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Tìm đoạn | ||
+ | < | ||
+ | location / { | ||
+ | root / | ||
+ | index index.html index.htm; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Sửa thành | ||
+ | < | ||
+ | location / { | ||
+ | root / | ||
+ | index index.html index.php index.htm; | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | |||
+ | Tìm đoạn | ||
+ | < | ||
+ | #location ~ \.php$ { | ||
+ | # root html; | ||
+ | # fastcgi_pass | ||
+ | # fastcgi_index | ||
+ | # fastcgi_param | ||
+ | # include | ||
+ | #} | ||
+ | </ | ||
+ | |||
+ | Sửa thành | ||
+ | < | ||
+ | location ~ \.php$ { | ||
+ | root / | ||
+ | # | ||
+ | fastcgi_pass fpm_nukeviet; | ||
+ | fastcgi_index | ||
+ | fastcgi_param | ||
+ | include | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | Khởi động lại PHP-FPM | ||
+ | < | ||
+ | sudo systemctl restart php-fpm | ||
+ | sudo systemctl restart nginx | ||
+ | </ | ||
+ | |||
+ | Sửa lỗi không tạo được session | ||
+ | < | ||
+ | chmod -R 777 / | ||
+ | </ | ||
+ | |||
+ | Hoặc sửa file / | ||
+ | |||
+ | **Sử dụng session trên memcache** | ||
+ | Hoặc sửa file / | ||
+ | < | ||
+ | session.save_handler = memcached | ||
+ | session.save_path = ' | ||
+ | </ | ||
+ | |||
+ | **Làm tương tự cho 2 máy webapp2.nukeviet.vn, | ||
+ | |||
+ | ==== Cài đặt MariaDB trên db1.nukeviet.vn ==== | ||
+ | Tạo repo cho MariaDB | ||
+ | < | ||
+ | vi / | ||
+ | </ | ||
+ | Với nội dung | ||
+ | |||
+ | < | ||
+ | # MariaDB 10.1 CentOS repository list - created 2015-12-06 14:53 UTC | ||
+ | # http:// | ||
+ | [mariadb] | ||
+ | name = MariaDB | ||
+ | baseurl = http:// | ||
+ | gpgkey=https:// | ||
+ | gpgcheck=1 | ||
+ | </ | ||
+ | |||
+ | Chạy lệnh dưới để cài đặt MariDB | ||
+ | < | ||
+ | sudo yum install MariaDB-server MariaDB-client | ||
+ | </ | ||
+ | |||
+ | Kích hoạt MariDB ứng dụng này vào danh sách ứng dụng tự khởi động nếu reboot server | ||
+ | |||
+ | < | ||
+ | sudo systemctl start mariadb | ||
+ | sudo systemctl enable mariadb | ||
+ | </ | ||
+ | |||
+ | **Cấu hình MariaDB** | ||
+ | < | ||
+ | Set (Change) root password | ||
+ | Remove anonymous users | ||
+ | Disallow root login remotely | ||
+ | Remove test database and access to it | ||
+ | Reload privilege tables | ||
+ | </ | ||
+ | |||
+ | – Bắt đầu cài đặt | ||
+ | < | ||
+ | / | ||
+ | </ | ||
+ | |||
+ | Ngay bước đầu tiên bạn sẽ bị hỏi root password, do mới cài đặt nên tất nhiên chưa có password, nhấn Enter để tiếp tục. Output tương tự như sau: | ||
+ | < | ||
+ | NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB | ||
+ | SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY! | ||
+ | |||
+ | In order to log into MariaDB to secure it, we\'ll need the current | ||
+ | password for the root user. If you\' | ||
+ | you haven\' | ||
+ | so you should just press enter here. | ||
+ | |||
+ | Enter current password for root (enter for none): | ||
+ | OK, successfully used password, moving on... | ||
+ | |||
+ | Setting the root password ensures that nobody can log into the MariaDB | ||
+ | root user without the proper authorisation. | ||
+ | |||
+ | Set root password? [Y/n] y | ||
+ | New password: | ||
+ | Re-enter new password: | ||
+ | Password updated successfully! | ||
+ | Reloading privilege tables.. | ||
+ | ... Success! | ||
+ | |||
+ | |||
+ | By default, a MariaDB installation has an anonymous user, allowing anyone | ||
+ | to log into MariaDB without having to have a user account created for | ||
+ | them. This is intended only for testing, and to make the installation | ||
+ | go a bit smoother. You should remove them before moving into a | ||
+ | production environment. | ||
+ | |||
+ | Remove anonymous users? [Y/n] y | ||
+ | ... Success! | ||
+ | |||
+ | Normally, root should only be allowed to connect from \' | ||
+ | ensures that someone cannot guess at the root password from the network. | ||
+ | |||
+ | Disallow root login remotely? [Y/n] y | ||
+ | ... Success! | ||
+ | |||
+ | By default, MariaDB comes with a database named \' | ||
+ | access. This is also intended only for testing, and should be removed | ||
+ | before moving into a production environment. | ||
+ | |||
+ | Remove test database and access to it? [Y/n] y | ||
+ | - Dropping test database... | ||
+ | ... Success! | ||
+ | - Removing privileges on test database... | ||
+ | ... Success! | ||
+ | |||
+ | Reloading the privilege tables will ensure that all changes made so far | ||
+ | will take effect immediately. | ||
+ | |||
+ | Reload privilege tables now? [Y/n] y | ||
+ | ... Success! | ||
+ | |||
+ | Cleaning up... | ||
+ | |||
+ | All done! If you\' | ||
+ | installation should now be secure. | ||
+ | |||
+ | Thanks for using MariaDB! | ||
+ | </ | ||
+ | |||
+ | ===== 4) Thiết lập NFS Server: ===== | ||
+ | Xem chi tiết tại: http:// | ||
+ | |||
+ | ===== 5) Cài đặt Session trên memcached, Thiết lập cache trên memcached===== | ||
+ | Cài đặt NukeViet 4 mới nhất. | ||
+ | Cấu hình file / | ||
+ | < | ||
+ | Sửa dòng $global_config[' | ||
+ | thành $global_config[' | ||
+ | </ | ||
+ | |||
+ | Thêm các dòng sau vào cuối file: | ||
+ | < | ||
+ | define( ' | ||
+ | define( ' | ||
+ | |||
+ | ini_set( ' | ||
+ | ini_set( ' | ||
+ | </ | ||
+ | (memcached đang được đặt tại: 192.168.56.100) | ||
+ | |||
+ | ===== 5) Kiểm thử lần 1: ===== | ||
+ | Kết quả lần 1 khi tạo 3 máy ảo: | ||
+ | * Máy lb1.nukeviet.vn | ||
+ | * Máy webapp1.nukeviet.vn, | ||
+ | * Dùng apache-jmeter-2.13 từ 1 máy khác cho 1000 kết nối đồng thời, thực hiện xong trong 8 giây. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | Tham khảo: | ||
+ | |||
+ | - http:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - http:// | ||
+ | - https:// | ||
+ | - https:// | ||
+ | - https:// |
web_server/cai-dat-server-chi-tai-cao.txt · Sửa đổi lần cuối: 2015/12/11 11:19 bởi vuthao