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!

Add a Comment