Chạy WebApps trên server theo cách đơn giản nhất
Warning: Khi bạn cần 1 thứ nhanh chóng và đơn giản cho 1 việc đơn giản(như đồ án chẳng hạn) thì nó có thể hữu ích
Trong bài viết này, tôi giả sử mình đang chạy 1 app Nodejs tại địa chỉ 192.168.0.6: 3002.
Về cơ bản thì ta vẫn sẽ chạy app như trên localhost thôi, ta sẽ cần chạy app (1 tiến trình) trên 1 port nào đó, sau đó mở port đó để các máy tính khác có thể truy cập, vì vậy cần chuẩn bị 1 số thứ:
– SSH
– Rsync
Sau đó cài đặt các gói sau trên server:
– WebServer: Nginx
– Database: mysql
1. Đầu tiên, hãy sync source code của mình lên server:$ rsync -avzhe ssh source.zip root@192.168.0.6:/my_folder
2. Sau đó chạy app: $ npm start
3. Bây giờ hãy mở port để người dùng có thể truy cập:
http: $ sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sql: $ sudo iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
App’s port: $ sudo iptables -A INPUT -p tcp --dport 3002 -j ACCEPT
4. Lúc này kiểm tra xem app đã chạy chưa: $ netstat -ntlp
App của ta đã chạy thành công.
5. Bây giờ, hãy tạo 1 services để và quản lí nó bằng systemctl$ cd /lib/systemd/system
$ vi demo_app.service
[Unit] Description=carid-cms [Service] Type=simple PIDFile=/my_folder/demo_app.pid ExecStart=/bin/sh -c 'cd /my_folder/demo_app/; npm start' ExecStop=/bin/kill $MAINPID ExecStopPost=/bin/rm /my_folder/demo_app/carid-cms.pid Restart=on-failure User=root Group=root SuccessExitStatus=143 [Install] WantedBy=multi-user.target
6. Tuy nhiên khi vào trình duyệt mà gõ: 192.168.0.6: 3002 thì trông nó không đẹp, hãy config nginx 1 chút:$ cd /etc/nginx/conf.d$ vi demo_app.conf
server {
listen 80;
server_name 192.168.0.6;
charset UTF-8;
access_log /var/log/nginx/access.log ltsv;
include /etc/nginx/proxy.conf;
include /etc/nginx/html5app.conf;
include /etc/nginx/security.conf;
location = /503.html {
root /usr/share/nginx/html;
}
location /
proxy_pass http://127.0.0.1:3002/;
}
location ~ /\.git {
deny all;
}
location ~ /\.ht {
deny all;
}
}Hoàn thành, hãy vào trình duyệt gõ: 192.168.0.6 và tận hưởng!
Summary: Qua bài viết này, tôi muốn chia sẻ
– Cách deploy web app đơn giản
– Một số câu lệnh linux hay gặp
Enjoy!


