You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel 10部署Ubuntu NGINX服务器后登录功能异常求助

部署Laravel 10到Ubuntu 24.04后登录失败问题

在Ubuntu 24.04.2 LTS(GNU/Linux 6.8.0-55-generic x86_64)服务器部署Laravel 10应用时,本地环境登录功能正常,但部署到NGINX服务器后无法登录,不过注册功能可正常使用。已尝试将storage文件夹权限改为775,问题仍未解决。以下是相关配置及代码:

路由列表(route:list输出)

GET|HEAD   / .......................................................................................................................................................... 
  GET|HEAD   _minify/{file?} ................................................................................ minify.assets › Fahlisaputra\Minify › HttpConnectionHandler
  GET|HEAD   accounts ................................................................................................................................................... 
  GET|HEAD   api/user ............................................................................................................................. ApiController@showAll
  GET|HEAD   api/user/{id} ........................................................................................................................... ApiController@show
  GET|HEAD   app/dashboard .................................................................................................................... app › AppController@index
  POST       app/deposit ................................................................................................. deposit.submit › TransactionController@deposit
  GET|HEAD   app/deposit/confirm/{uuid} ..................................................................... deposit.confirm › TransactionController@updateDepositStatus
  GET|HEAD   app/profile ............................................................................................................ app.profile › AppController@profile
  GET|HEAD   app/settings/activity ................................................................................ app.settingsActivity › AppController@settingsActivity
  POST       app/settings/bank-info .................................................................................. settings.bank.store › AppController@updateBankInfo
  POST       app/settings/card-info .................................................................................. settings.card.store › AppController@updateCardInfo
  GET|HEAD   app/settings/payment-method ............................................................................ app.settingsPayment › AppController@settingsPayment
  POST       app/settings/personal-info ........................................................................ app.settings.personal › AppController@updatePersonalInfo
  POST       app/settings/pin ..................................................................................... app.settings.pin › AppController@updateTransactionPin
  GET|HEAD   app/settings/privacy ................................................................................... app.settingsPrivacy › AppController@settingsPrivacy
  GET|HEAD   app/settings/profile ................................................................................................. app.settings › AppController@settings
  POST       app/settings/profile/update ............................................................................... app.update.profile › AppController@updateProfile
  POST       app/settings/update-auth ............................................................................... settings.update.auth › AppController@updateAuthInfo
  GET|HEAD   app/signin ............................................................................................................ signin › AppController@showLoginForm
  GET|HEAD   app/transactions ............................................................................................. app.transactions › AppController@transactions
  POST       app/transfer ..................................................................................................... transfer › TransactionController@transfer
  GET|HEAD   app/user/suspend/{uuid} .............................................................................................. user.suspend › AuthController@suspend
  GET|HEAD   app/user/verify/{uuid} ................................................................................................. user.verify › AuthController@verify
  GET|HEAD   app/verify-data ............................................................................................ verify.data › AuthController@showVerifyDataForm
  POST       app/verify-data ....................................................................................... verify.data.submit › AuthController@submitVerifyData
  POST       app/verify-pin ............................................................................... set.transaction.pin › TransactionController@setTransactionPin
  GET|HEAD   app/wallet ............................................................................................................... app.wallet › AppController@wallet
  POST       app/withdraw .............................................................................................. withdraw.submit › TransactionController@withdraw
  GET|HEAD   app/withdraw/confirm/{uuid} ....................................................................... withdraw.confirm › TransactionController@confirmWithdraw
  POST       app/withdraws/confirm/{uuid} .................................................................... withdraws.confirm › TransactionController@confirmWithdraws
  ANY        apply .............................................................................................................. Illuminate\Routing › RedirectController
  GET|HEAD   contact .................................................................................................................................................... 
  GET|HEAD   faq ........................................................................................................................................................ 
  GET|HEAD   forgot-password .................................................................................................. app.forgot › AppController@forgotPassword
  GET|HEAD   login ............................................................................................................ login.form › AuthController@showLoginForm
  POST       login ......................................................................................................................... login › AuthController@login
  POST       logout ...................................................................................................................... logout › AuthController@logout
  GET|HEAD   privacy-policy ............................................................................................................................................. 
  GET|HEAD   register ................................................................................................... register.form › AuthController@showRegisterForm
  POST       register ................................................................................................................ register › AuthController@register
  GET|HEAD   sanctum/csrf-cookie ...................................................................... sanctum.csrf-cookie › Laravel\Sanctum › CsrfCookieController@show
  GET|HEAD   signup ................................................................................................................... app.signup › AppController@signup
  GET|HEAD   terms-conditions ........................................................................................................................................... 
  GET|HEAD   testimonials ............................................................................................................................................... 
  GET|HEAD   verify/success/{uuid} ...................................................................................... app.verifySuccess › AppController@verifySuccess
  GET|HEAD   verify/{uuid} ............................................................................................................ app.verify › AppController@verify

.env配置(敏感信息已模糊处理)

APP_NAME="Baltxxx xxx xxx"
APP_ENV=local
APP_KEY=base64:fx/xxx=
APP_DEBUG=true
APP_URL=http://localhost

LOG_CHANNEL=stack
LOG_DEPRECATIONS_CHANNEL=null
LOG_LEVEL=debug

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=xxx
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=redis
FILESYSTEM_DISK=local
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

MEMCACHED_HOST=127.0.0.1

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=sandbox.smtp.mailtrap.io
MAIL_PORT=xxx
MAIL_USERNAME=xxx
MAIL_PASSWORD=xxx
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="notxxx@balxxx.com"
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=
AWS_USE_PATH_STYLE_ENDPOINT=false

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_HOST=
PUSHER_PORT=443
PUSHER_SCHEME=https
PUSHER_APP_CLUSTER=mt1

VITE_APP_NAME="${APP_NAME}"
VITE_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
VITE_PUSHER_HOST="${PUSHER_HOST}"
VITE_PUSHER_PORT="${PUSHER_PORT}"
VITE_PUSHER_SCHEME="${PUSHER_SCHEME}"
VITE_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"
CLOUDINARY_URL=xxx
CLOUDINARY_CLOUD_NAME=xxx
CLOUDINARY_UPLOAD_PRESET=xxx
IPGEOLOCATION_KEY=xxx
IPGEOLOCATION_API_KEY=xxx

API_KEY=xxx

权限修改命令

sudo chmod -R 775 /var/www/balxxx/storage
sudo chown -R www-data:www-data /var/www/balxxx/storage

GitHub Actions部署工作流

name: Deployment of xxx

on:
  push:
    branches:
      - main
  pull_request:
    branches:
      - main

jobs:
  deploy:
    runs-on: ubuntu-latest
    steps:
      - name: 🚚 Get latest code
        uses: actions/checkout@v4
      ...
      - name: Deploy to Production
        run: |
          sshpass -p 'yourpassword' rsync -avz --delete -e "ssh -o StrictHostKeyChecking=no" ./ root@147.xxx:/var/www/baltxxx/
          sshpass -p 'yourpassword' ssh -o StrictHostKeyChecking=no root@14xxx << 'EOF'
            # Laravel Commands
            php artisan key:generate --ansi
            php artisan migrate --force
            php artisan optimize:clear
            php artisan storage:link
            php artisan config:clear
            ...
          EOF

AuthController中的login方法

public function login(Request $request)
{
    $credentials = $request->only('email', 'password');
    $remember = $request->has('remember');

    if (Auth::attempt($credentials, $remember)) {
        $request->session()->regenerate();
        activity()->causedBy(Auth::user())->log('User logged in');
        return redirect()->intended('/app/dashboard');
    }
    return back()->withErrors([
        'email' => 'Invalid credentials',
    ])->withInput($request->only('email'));
}

使用PHP 8.3,请问部署流程中是否遗漏了步骤,或是服务器的会话、认证配置存在问题?


内容的提问来源于stack exchange,提问作者Bin Ski.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 17:34:57