在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上部署成功并可以访问了。