Menggunakan aplikasi Laravel pada Ubuntu dengan tindanan LEMP (Linux, Nginx, MySQL, PHP) boleh kelihatan menakutkan, tetapi memecahkannya langkah demi langkah menjadikannya mudah diurus. Panduan ini akan memandu anda melalui proses daripada persediaan pelayan hingga menggunakan aplikasi Laravel.
Mulakan dengan memastikan pelayan anda dikemas kini.
sudo apt update && sudo apt upgrade -y
Nginx akan menyampaikan permohonan anda.
sudo apt install nginx -y
Setelah dipasang, anda boleh memulakan dan mendayakan Nginx berjalan pada but:
sudo systemctl start nginx sudo systemctl enable nginx
Anda boleh mengesahkan bahawa Nginx sedang berjalan dengan melawati alamat IP pelayan anda dalam penyemak imbas.
Seterusnya, kami akan memasang pelayan pangkalan data MySQL.
sudo apt install mysql-server -y
Lindungi pemasangan MySQL:
sudo mysql_secure_installation
Ini akan menggesa anda untuk menyediakan kata laluan akar dan mengalih keluar lalai yang tidak selamat.
Laravel memerlukan PHP, jadi mari pasangkannya bersama beberapa sambungan yang diperlukan:
sudo apt install php-fpm php-mysql php-cli php-xml php-mbstring php-curl php-zip -y
Sahkan pemasangan PHP:
php -v
Anda sepatutnya melihat sesuatu seperti:
PHP 7.x.x (cli) (built: ...)
Log masuk ke konsol MySQL sebagai pengguna akar:
sudo mysql
Buat pangkalan data dan pengguna baharu untuk aplikasi Laravel:
CREATE DATABASE laravel_app; CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON laravel_app.* TO 'laravel_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
Pastikan bahawa pengguna pangkalan data baharu boleh menyambung:
mysql -u laravel_user -p
Anda akan digesa untuk mendapatkan kata laluan, kemudian masukkan:
SHOW DATABASES;
Anda sepatutnya melihat laravel_app dalam senarai.
Laravel menggunakan Komposer sebagai pengurus pergantungannya. Pasang Komposer:
sudo apt install composer -y
Navigasi ke direktori tempat anda ingin memasang Laravel (cth., /var/www/):
cd /var/www/ composer create-project --prefer-dist laravel/laravel laravel_app
Laravel memerlukan beberapa direktori boleh ditulis oleh pelayan web:
sudo chown -R www-data:www-data /var/www/laravel_app sudo chmod -R 775 /var/www/laravel_app/storage sudo chmod -R 775 /var/www/laravel_app/bootstrap/cache
Dalam akar projek Laravel, buka fail .env dan konfigurasikan tetapan pangkalan data:
DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=laravel_app DB_USERNAME=laravel_user DB_PASSWORD=strong_password
Kami akan mencipta fail konfigurasi Nginx untuk projek Laravel.
sudo nano /etc/nginx/sites-available/laravel_app
Tambah konfigurasi berikut pada fail:
server { listen 80; server_name your_domain_or_ip; root /var/www/laravel_app/public; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php?$query_string; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.x-fpm.sock; # Change this to the correct PHP version. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
Gantikan_domain_atau_ip anda dengan nama domain sebenar atau alamat IP pelayan anda.
Dayakan konfigurasi Nginx baharu dengan mencipta pautan simbolik ke tapak yang didayakan:
sudo ln -s /etc/nginx/sites-available/laravel_app /etc/nginx/sites-enabled/
Uji konfigurasi Nginx untuk memastikan tiada ralat sintaks:
sudo nginx -t
Jika semuanya baik-baik saja, mulakan semula Nginx:
sudo systemctl reload nginx
Jalankan migrasi Laravel untuk menyediakan pangkalan data:
cd /var/www/laravel_app php artisan migrate
Anda kini sepatutnya boleh mengakses aplikasi Laravel dengan menavigasi ke IP atau domain pelayan anda dalam penyemak imbas. Anda akan melihat halaman alu-aluan Laravel lalai.
Jika anda mempunyai domain, selamatkan tapak anda dengan Let's Encrypt:
sudo apt install certbot python3-certbot-nginx -y sudo certbot --nginx -d your_domain
Ikuti arahan untuk memasang sijil SSL. Certbot akan mengkonfigurasi Nginx secara automatik untuk mengubah hala trafik HTTP ke HTTPS.
Baris gilir mengendalikan tugas seperti menghantar e-mel atau memproses kerja di latar belakang.
php artisan queue:work
Gunakan ciri penjadualan tugas Laravel untuk tugasan seperti mengosongkan cache, menghantar e-mel harian, dsb.
sudo crontab -e
Tambah baris berikut:
* * * * * php /var/www/laravel_app/artisan schedule:run >> /dev/null 2>&1
You’ve successfully deployed a Laravel application on an Ubuntu server using the LEMP stack. From here, you can continue to develop your application, secure it, and monitor it for performance.
If you encounter any issues, check the Nginx error logs at /var/log/nginx/error.log or Laravel logs at /var/www/laravel_app/storage/logs/laravel.log.
With these steps, you've completed a full hands-on Laravel deployment!
Atas ialah kandungan terperinci Penggunaan Laravel yang Mudah pada Ubuntu: Panduan Pemula dengan LEMP Stack. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!