Categories
nginx nodejs

How to fix Access-Control-Allow-Origin

Access to fetch at ‘http://127.0.0.1:3001/movies’ from origin ‘http://127.0.0.1:5500’ has been blocked by CORS policy: No ‘Access-Control-Allow-Origin’ header is present on the requested resource. If an opaque response serves your needs, set the request’s mode to ‘no-cors’ to fetch the resource with CORS disabled.

ปัญหาเกิดจาก client พยายามจะเรียก web server ข้าม domain กัน ทำให้เกิดปัญหา Access-Control-Allow-Origin

Categories
digital ocean Docker nginx

ทำ Reverse Proxy ด้วย NGINX

สิ่งที่ต้องเตรียมใน workshop นี้

1 สมัคร https://www.digitalocean.com/ เพื่อเตรียมไว้สร้าง Server ทดสอบ

2 สมัคร https://www.cloudflare.com/ เพื่อตั้งค่า dns ของโดเมนและซับโดเมน

3 Unix/Linux Command เบื้องต้น เช่น cd, mkdir

4 nginx และ Docker Compose พื้นฐาน ดูได้จาก https://thana.in.th/2020/05/06/ติดตั้ง-nginx-ด้วย-docker-compose/

เมื่อเตรียมพร้อมแล้วเรามาเริ่มกันเล้ย

สร้าง Droplet ใหม่ที่ DigitalOcean

เลือก plan ต่ำสุดเพื่อนำมาทดสอบ แล้วค่อยระเบิดทิ้ง แต่ท่านใดเงินเหลือๆ เลือก 32 cpu เพื่อความลื่นปรื๊ดก็ไม่ว่ากันฮะ 555+

Categories
Docker nginx

ติดตั้ง Nginx ด้วย Docker Compose

เริ่มจากสร้างไฟล์ docker-compose.yml

version: '2.0'
services: 
    web:
        image: nginx:1.13.0-alpine
        container_name: wrk-nginx
        restart: always
        ports: 
        - "9001:80"
        volumes: 
        - ./html/:/usr/share/nginx/html
image: nginx:1.13.0-alpine

เลือก image nginx:1.13.0-alpine ซึ่งเป็นตัว image ที่ใช้ Alpine Linux project (โครงการของ Alpine Linux นี้ก็ถูกพัฒนาขึ้นมาเพื่อตอบโจทย์การใช้ Container ให้มีขนาดไม่เกิน 8MB และใช้พื้นที่รวมไม่เกิน 130 MB รวมถึงยังถูกออกแบบมาให้มีความปลอดภัยสูง)

Categories
Docker nginx 🏴‍☠️

Reverser Proxy ด้วย Nginx บน Docker

ใน workshop ครั้งนี้ จะใช้ digital ocean โดยไปตั้งค่า subdomain ก่อนที่ network โดยเพิ่มที่ CNAME ดังนี้ blog.zity.co , test.zity.co

Categories
Docker nginx Ubuntu 🏴‍☠️

วิธีการติดตั้ง Free SSL Certificates จาก Let’s Encrypt โดยใช้ Docker และ Nginx

Install Docker on Ubuntu

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

 Update the Ubuntu package database

sudo apt-get update

install Docker

sudo apt-get install -y docker-ce
Categories
digital ocean nginx 🏴‍☠️

ติดตั้ง Laravel 5 ร่วมกับ MAMP บน OSX

install MAMP

*I was able to disable the Apache server that ships with OSX using the following command:

sudo launchctl unload /System/Library/LaunchDaemons/org.apache.httpd.plist

Find out where your PHP executable is located:
which php

Check this is the most recent version and under /Applications/MAMP
Add this path to ~/.bash_profile

sudo nano ~/.bash_profile

export PATH=/Applications/MAMP/bin/php/php5.6.2/bin:$PATH

source ~/.bash_profile

curl -s http://getcomposer.org/installer | php

php composer.phar

sudo mv composer.phar /usr/bin/

sudo nano ~/.bash_profile

alias composer="php /usr/bin/composer.phar"

cd /Applications/MAMP/htdocs

composer create-project laravel/laravel your-project-name –prefer-dist

sudo chmod -R 775 your-project-name/storage
* Laravel 5

sudo chmod -R 775 your-project-name/app/storage
* Laravel < 5

ref:
http://www.17educations.com/laravel/install-laravel-mac-using-mamp/

Categories
digital ocean nginx Ubuntu 🏴‍☠️

ติดตั้ง Laravel 5 กับ Nginx บน Ubuntu 14.04

sudo apt-get update
sudo apt-get install nginx php5-fpm php5-cli php5-mcrypt git

sudo nano /etc/php5/fpm/php.ini
uncomment this and set
cgi.fix_pathinfo=0

sudo php5enmod mcrypt

sudo service php5-fpm restart

sudo mkdir -p /var/www/laravel

sudo nano /etc/nginx/sites-available/default

server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;

root /var/www/laravel/public;
index index.php index.html index.htm;

server_name server_domain_or_IP;

location / {
try_files $uri $uri/ /index.php?$query_string;
}

location ~ .php$ {
try_files $uri /index.php =404;
fastcgi_split_path_info ^(.+.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

sudo service nginx restart

Create Swap File (Optional) (like a 512mb Droplet).

First, we can create an empty 1GB file by typing:

sudo fallocate -l 1G /swapfile
We can format it as swap space by typing:

sudo mkswap /swapfile
Finally, we can enable this space so that the kernel begins to use it by typing:

sudo swapon /swapfile

Install Composer and Laravel

cd ~
curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer

sudo composer create-project laravel/laravel /var/www/laravel

sudo chown -R :www-data /var/www/laravel

sudo chmod -R 775 /var/www/laravel/storage
* Laravel 5

sudo chmod -R 775 /var/www/laravel/app/storage
* Laravel < 5

FINISH

ref :
https://www.digitalocean.com/community/tutorials/how-to-install-laravel-with-an-nginx-web-server-on-ubuntu-14-04

http://gunoob.com/fix-laravel-show-blank-or-white-page/