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.
相关产品推荐
相关产品推荐

