Database đơn vị hành chính Việt Nam cho Laravel

Xin chào các bạn, hôm nay mình xin chia sẽ với các bạn cơ sỡ dữ liệu đơn vị hành chính của Việt Nam: Tỉnh/Thành phố, Quận/Huyện, Phường/Xã cho Laravel

Đây là lần đầu tiên mình viết bài lên đây, có thể không được hay lắm thì mong các bạn thông cảm :)

Giới thiệu

Hôm trước mình có làm một dự án cần lấy dữ liệu về đơn vị hành chính của Việt Nam, do đó mình đã đóng gói lại thành package cho Laravel và chia sẽ cho mọi người.

Package này có gì:

  • Data được trích xuất trực tiếp từ Tổng Cục Thống Kê cho nên các bạn yên tâm về độ chính xác và dữ liệu luôn luôn được cập nhật mới nhất.
  • Cài đặt nhanh gọn.
  • Hỗ trợ Laravel 5.8 trở lên.

Download file ISO Windows 10 chính chủ từ Microsoft

Hôm nay mình mới tìm được một cách để download file ISO Windowns 10 cực nhanh trực tiếp từ server của Microsoft. Chỉ cần click vài phát là download được.

Tốc độ cực nhanh nhé. Mình download trực tiếp trên chrome luôn, bạn nào dùng IDM chắc nhanh hơn nữa :)

download-iso-windows-10.jpg

Tip lấy chứng chỉ SSL từ Let’s Encrypt mà không cần tắt Nginx hoặc Apache

Để cài đặt chứng chỉ Let’s Encrypt SSL trên server thì bạn có thể sử dụng nhiều cách.

Bạn có thể sử dụng certbot hoặc lego để cài đặt chứng chỉ.

Đa số các ACME client này sẽ cần sử dụng port 80 hoặc 443 để thực hiện xác thực để lấy chứng chỉ.

Và sẽ thường yêu cầu bạn tắt Apache hoặc Nginx. Bằng lệnh service nginx stop hoặc service apache2 stop.

Tuy nhiên mình có một tip nhỏ để bạn thực hiện lấy chứng chỉ ssl hoặc renew chứng chỉ ssl mà không cần phải tắt nginx hoặc apache.

Cài đặt htop trên CentOS 8

1
2
3
sudo yum -y install epel-release
sudo yum repolist
sudo yum install htop -y

Done!

Cài đặt FFMpeg trên CentOS 7, CentOS 8

Note lại các bước cài đặt FFMpeg trên CentOS để dùng lại sau này.

Cài đặt Let’s Encrypt SSL trên linux

Trước khi làm theo hướng dẫn, bạn cần lưu ý các vấn đề sau:

  • Tên miền phải được trỏ đến IP của server đang cài đặt.
  • Mặc định Certbot yêu cầu quyền root để truy cập và ghi dữ liệu vào: /etc/letsencrypt, /var/log/letsencrypt, /var/lib/letsencrypt.
  • Ngoài ra, port 80 sẽ được sử dụng trong quá trình xác nhận tên miền để cấp chứng chỉ SSL. Do đó, nếu bạn đang chạy nginx hoặc apache thì cần phải tắt đi trước khi thực hiện.

Cài đặt vào giám sát Laravel Queue sử dụng PM2

Trong hầu hết các trường hợp, bạn sẽ thường sử dụng supervisor.d hoặc một số trình giám sát khác để chạy Laravel Queue.

Trong bài này, tôi sẽ hướng dẫn thêm một cách khác là dùng pm2 để chạy và giám sát Laravel Queue.

Nginx reverse proxy wss with ssl

Overview

WebSockets allow a two-way, persistent communication channel between a client and a server. Like any other HTTP requests, WebSockets can be either secure (WSS) or insecure (WS). In This tutorial, you will be shown how to configure NGINX to proxy WSS connections.

Getting Started

If you are not a developer or have not developed a WebSocket application, you may find demo applications in Github. Each one was written for tutorials like this.

  • NodeJS Express
  • Python

Source: https://www.serverlab.ca/tutorials/linux/web-servers-linux/how-to-proxy-wss-websockets-with-nginx/

Configuring Secure WebSocket Proxy

In order for WWS requests to be proxied to a backend WSS service, NGINX must be configured to listen over a secure port. Just as you would configure SSL when using NGINX to server web application, a ssl certificate and certificate key must be configured.

The following example nginx.conf adds uses a certificate file named cert.pem and a key file named key.pem. The acceptabed protocols are explicitly set using the ssl_protocols directive, and the allowed ciphers are set with the ssl_ciphers directive.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
server {
listen 443 ssl;

server_name xxx.xx.io

ssl on;
ssl_certificate /etc/asterisk/certs/xxx.io.pem;
ssl_certificate_key /etc/asterisk/certs/xxx.io.key;

ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;

#prevent 502 bad gateway
#large_client_header_buffers 8 32;

location / {

# prevents 502 bad gateway error
proxy_buffers 8 32k;
proxy_buffer_size 64k;

# redirect all HTTP traffic to localhost:8088;
proxy_pass http://0.0.0.0:8088/ws;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#proxy_set_header X-NginX-Proxy true;

# enables WS support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";

proxy_read_timeout 999999999;

}
}

Source: https://gist.github.com/steve-ng/ed6de1fa702ef70bd6ce

Node.js server only listening on ipv6

You need to specify an IPV4 address when you call the listen(), I had the same issue with the http module. If I use this:

var http = require('http');

var server = http.createServer(function(request, response) {
...
});

server.listen(13882, function() { });

It only listen on IPV6, as you can see from netstat output:

$ netstat -lntp
Proto  Recv-Q  Send-Q  Local Address  Foreign Address  State
tcp6        0       0  :::13882       :::*             LISTEN

However, if I specify an IPV4 address like this:

var http = require('http');

var server = http.createServer(function(request, response) {
...
});

server.listen(13882, "0.0.0.0", function() { });

netstat will report the server as listening on IPV4:

$ netstat -lntp
Proto  Recv-Q  Send-Q  Local Address     Foreign Address  State
tcp         0       0  0 0.0.0.0:13882   0 0.0.0.0:13882  LISTEN

I’m using Ubuntu 16.04 and npm 5.3.0.

HTH

Source: https://stackoverflow.com/a/48170565/4353123

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×