青春圖床–開源圖床源碼young-pictures
demo:http://yp.3yi.ink
github:https://github.com/lantongxue/young-pictures
主要技術
- 基於swoole的高性能框架hyperf
- 分佈式搜索引擎Elasticsearch (這個還在研究中)
- MySQL數據庫
- 漸進式前端框架Vue.js
- redis做消費者隊列
- 最新的php特性
運行環境
php版本:>= 7.4.0
其他依賴用composer安裝會體現出來
運行步驟
git clone https://github.com/lantongxue/young-pictures.git
cd young-pictures
composer install -vvv
安裝php依賴cd frontend
進入前端目錄npm install
安裝vue相關的依賴npm run build
生成dist文件夾,裡麵包含編譯好的vuecd ../
返回到young-pictures目錄下cp .env.example .env
並修改.env
裡面的配置php bin/hyperf.php migrate
遷移數據庫php bin/hyperf.php start
啟動主程序
正常啟動會監聽9501端口,之後用nginx做一個反代就行了
貼一下我的nginx配置
server {
#監聽端口
listen 80 ;
#綁定的域名,填寫您的域名
server_name yp.3yi.ink;
location / {
root /var/www/young-pictures/frontend/dist/;
index index.html;
}
location ^~ /s/ {
#將客戶端的Host和IP信息一併轉發到對應節點
proxy_set_header Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
#轉發Cookie,設置SameSite
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict" ;
#執行代理訪問真實服務器
proxy_pass http://127.0.0.1:9501;
}
location /browse {
#將客戶端的Host和IP信息一併轉發到對應節點
proxy_set_header Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
#轉發Cookie,設置SameSite
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict" ;
#執行代理訪問真實服務器
proxy_pass http://127.0.0.1:9501;
}
location /upload {
#將客戶端的Host和IP信息一併轉發到對應節點
proxy_set_header Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
#轉發Cookie,設置SameSite
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict" ;
#執行代理訪問真實服務器
proxy_pass http://127.0.0.1:9501;
}
location /test {
#將客戶端的Host和IP信息一併轉發到對應節點
proxy_set_header Host $http_host ;
proxy_set_header X-Real-IP $remote_addr ;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for ;
#轉發Cookie,設置SameSite
proxy_cookie_path / "/; secure; HttpOnly; SameSite=strict" ;
#執行代理訪問真實服務器
proxy_pass http://127.0.0.1:9501;
}
}