在CentOS系統中部署Laravel項目,你需要遵循以下步驟:
# 安裝EPEL倉庫
sudo yum install epel-release
# 安裝Nginx
sudo yum install nginx
# 安裝PHP及其擴展
sudo yum install php php-fpm php-mysqlnd php-zip php-gd php-mbstring php-curl php-xml php-pear php-bcmath
# 安裝MySQL
sudo yum install mysql-server
# 啟動并設置開機啟動Nginx和MySQL
sudo systemctl start nginx
sudo systemctl enable nginx
sudo systemctl start mysqld
sudo systemctl enable mysqld
sudo mysql_secure_installation
按照提示設置root密碼,禁止遠程root登錄,刪除匿名用戶等。
mysql -u root -p
然后創建一個新的數據庫和用戶,并授權:
CREATE DATABASE laravel_project;
CREATE USER 'laravel_user'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON laravel_project.* TO 'laravel_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
將your_password
替換為你選擇的密碼。
sudo vi /etc/nginx/conf.d/laravel_project.conf
將以下內容粘貼到文件中,用你的域名替換your_domain.com
,并將/path/to/laravel_project
替換為你的Laravel項目的實際路徑:
server {
listen 80;
server_name your_domain.com;
root /path/to/laravel_project/public;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-Content-Type-Options "nosniff";
index index.php;
charset utf-8;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
error_page 404 /index.php;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.(?!well-known).* {
deny all;
}
}
保存并退出。
sudo systemctl restart nginx
sudo vi /etc/php-fpm.d/www.conf
找到listen
行,將其更改為:
listen = /var/run/php-fpm/php-fpm.sock
保存并退出。
sudo systemctl restart php-fpm
部署Laravel項目
將你的Laravel項目上傳到服務器上的/path/to/laravel_project
目錄。你可以使用SCP、SFTP或其他文件傳輸方法。
設置文件權限 在Laravel項目的根目錄中運行以下命令,以確保Web服務器可以訪問和寫入必要的文件:
sudo chown -R nginx:nginx /path/to/laravel_project
sudo chmod -R 755 /path/to/laravel_project/storage
sudo chmod -R 755 /path/to/laravel_project/bootstrap/cache
cd /path/to/laravel_project
php artisan key:generate
php artisan config:cache
php artisan migrate
現在,你的Laravel項目應該已經在CentOS上部署成功并可以訪問了。