TungNT (Blue)

tungnt.blue@gmail.com

User Tools

Site Tools


development:goravel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
development:goravel [2024/11/27 10:58] – [Start HTTP Service] tungntdevelopment:goravel [2024/11/28 05:04] (current) – [Middleware] tungnt
Line 1: Line 1:
-====== Goravel ======+====== Install ======
  
 https://www.goravel.dev/getting-started/installation.html https://www.goravel.dev/getting-started/installation.html
Line 22: Line 22:
  
 $GOPATH, mặc định là ~/go/bin $GOPATH, mặc định là ~/go/bin
 +
 +<code>
 +export GOROOT=/usr/local/go
 +export GOPATH=$HOME/go
 +export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
 +</code>
 +
 ===== Thêm Module ===== ===== Thêm Module =====
  
Line 77: Line 84:
  
 ~/go/bin/air -c .air.toml ~/go/bin/air -c .air.toml
 +</code>
 +
 +====== Build web server ======
 +
 +===== supervisor =====
 +
 +<code>
 +[program:goravel]
 +process_name=%(program_name)s_%(process_num)02d
 +;command=/usr/local/go/bin/go run /private/var/www/examples/goravel.example.com/main.go
 +command=/Users/tungnt/go/bin/air -c /private/var/www/examples/goravel.example.com/.air.toml
 +directory=/private/var/www/examples/goravel.example.com
 +autostart=true
 +autorestart=true
 +user=tungnt
 +redirect_stderr=true
 +stdout_logfile=/private/var/www/examples/goravel.example.com/storage/logs/horizon.log
 +stopwaitsecs=3600
 +</code>
 +
 +===== nginx config =====
 +
 +<code>
 +server {
 +    listen 80;
 +    server_name goravel.example.com;
 +
 +    location / {
 +        proxy_pass http://localhost:3000;
 +        proxy_set_header Host $host;
 +        proxy_set_header X-Real-IP $remote_addr;
 +    }
 +}
 +
 +server {
 +        listen       443 ssl;
 +
 +        server_name goravel.example.com;
 +
 +        ssl_certificate     /opt/homebrew/etc/nginx/ssl/goravel.example.com.pem;
 +        ssl_certificate_key /opt/homebrew/etc/nginx/ssl/goravel.example.com-key.pem;
 +
 +        ssl_session_timeout 5m;
 +        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
 +        ssl_ciphers  HIGH:!aNULL:!MD5;
 +        ssl_prefer_server_ciphers on;
 +
 +    location / {
 +        proxy_pass http://localhost:3000;
 +        proxy_set_header Host $host;
 +        proxy_set_header X-Real-IP $remote_addr;
 +    }
 +
 +}
 +</code>
 +
 +====== The Basic ======
 +
 +===== Controllers =====
 +
 +<code>
 +go run . artisan make:controller test/ExampleController
 +
 +go run . artisan make:controller --resource PhotoController
 +</code>
 +
 +===== Middleware =====
 +
 +<code go>
 +go run . artisan make:middleware ApiAuth
 +</code>
 +
 +<file go app/http/kernel.go>
 +package http
 +
 +import (
 + "github.com/goravel/framework/contracts/http"
 +
 + "goravel/app/http/middleware"
 +)
 +
 +type Kernel struct {
 +}
 +
 +// The application's global HTTP middleware stack.
 +// These middleware are run during every request to your application.
 +func (kernel Kernel) Middleware() []http.Middleware {
 + return []http.Middleware{
 + middleware.ApiAuth(),
 + }
 +}
 +</file>
 +
 +<file go routes/api.go>
 +import "github.com/goravel/framework/http/middleware"
 +
 +facades.Route().Middleware(middleware.Auth()).Get("users", userController.Show)
 +</file>
 +
 +===== Request =====
 +
 +<code>
 +go run . artisan make:request test/ExamplePostRequest
 +</code>
 +
 +===== Rule =====
 +
 +<code>
 +go run . artisan make:rule Uppercase
 </code> </code>
development/goravel.1732705103.txt.gz · Last modified: 2024/11/27 10:58 by tungnt

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki