如何在Centos7上通过nginx&php-fpm部署laravel5.X
Laravel是一个开源的MVC PHP框架。这篇文章将展示,如何在Centos7服务器上使用Nginx Web服务器安装Laravel Web框架。
Step1-安装EPEL源
EPEL是提供给Linux的第三方源,提供大量官方源未提供的软件。在这篇文章中,我们需求EPEL仓库,安装Centos7官方仓库中未提供的Nginx软件包。
安装EPEL仓库仅需要使用以下命令:
yum -y install epel-release
EPEL仓库已经被安装。
Step2 - 安装Nginx
在这篇文章中,我们在LEMP栈中运行Laravel。Nginx Web服务是LEMP栈中的一部分,我们可以使用EPEL栈安装Nginx。
使用yum命令从EPEL仓库中安装Nginx1.10
yum -y install nginx
当安装完成,启动nginx 并且设置nginx为开机启动。
systemctl start nginx systemctl enable nginx
Nginx运行在80端口,通过netstat命令可以检查运行状态。
netstat -plntu
如果看到“Command not found”提示,就需要安装net-tools包。
yum -y install net-tools
Step 3- 安装并设置PHP-FPM7.1
当PHP版本>=5.6.4时,Laravel可以安装到服务器上,这篇文章中,我们使用支持Laravel的最新版的PHP7.1。
Centos7官方仓库中没有包含PHP7.1,我们需要第三方仓库webtatic安装PHP7.1
使用RPM命令安装webtatic仓库。
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
现在我们可以使用一个命令安装PHP-FPM和Laravel需要的扩展。
yum install -y php71w php71w-curl php71w-common php71w-cli php71w-mysql php71w-mbstring php71w-fpm php71w-xml php71w-pdo php71w-zip
PHP 7.1已经被安装到Centos7.
接下来需要编辑配置文件php.ini来配置PHP。
vim /etc/php.ini
取消下面行的注释,并且将值设为0.
cgi.fix_pathinfo=0
保存文件,并且推出编辑器。
接下来编辑php-fpm文件www.conf
vim /etc/php-fpm.d/www.conf
PHP-FPM将运行的nginx用户、用户组下,改变下面两行的值为nginx。
user = nginx group = nginx
PHP-FPM将监听一个socket文件,代替原始的监听服务器端口。将“listen”值设为“/run/php-fpm/php-fpm.sock”,如下所示。
listen = /run/php-fpm/php-fpm.sock
Socket文件的owner是nginx用户,权限为660。取消注释下列行,并将值设为。
listen.owner = nginx listen.group = nginx listen.mode = 0660
设置环境变量,取消下列行注释,并将值设为:
env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp
保存文件,并且推出编辑器。然后启动PHP-FPM并设为开机启动。
systemctl start php-fpm systemctl enable php-fpm
PHP-FPM在socket文件下运行使用下列命令检查。
netstat -pl | grep php-fpm.sock
到这里,PHP和PHP-FPM7.1已经安装并设置完毕。
Step 4 - 安装 PHP Composer
PHP composer是一个PHP语言的包管理工具,它受Node.js “npm” 和 Ruby's "Bundler" 影响,在2011年被创建。
使用curl命令,安装Composer。
curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/bin --filename=composer
当安装完毕,使用composer命令,将会看到下面的内容。
composer
PHP Composer已经安装降到Centos7操作系统中。
Step 5 - 设置Laravel Nginx 虚拟主机。
这个步骤中,我们将创建nginx虚拟主机,并设置为Laravel。为了Laravel安装,我们需要定义root文件夹,我们将使用/var/www/laraval 文件夹作为roo文件夹。
使用mkdir命令创建文件夹:
mkdir -p /var/www/laravel
接下来,到nginx文件夹,在conf.d目录中创建一个新的虚拟主机配置文件laravel.conf。
cd /etc/nginx vim conf.d/laravel.conf
粘贴文件内容如下:
server { listen 80; listen [::]:80 ipv6only=on; # Log files for Debugging access_log /var/log/nginx/laravel-access.log; error_log /var/log/nginx/laravel-error.log; # Webroot Directory for Laravel project root /var/www/laravel/public; index index.php index.html index.htm; # Your Domain Name server_name laravel.hakase-labs.co; location / { try_files $uri $uri/ /index.php?$query_string; } # PHP-FPM Configuration Nginx location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass unix:/run/php-fpm/php-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
保存文件,并且退出vim文件编辑器。
测试nginx配置文件,并且确认其没有错误,然后再重启nginx服务器。
nginx -t systemctl restart nginx
Step 6 - 安装Laravel
在安装laravel之前,我们还需要在服务器上安装unzip。
yum -y install unzip
现在我们需要切换到Laravel web 根目录“”
cd /var/www/laravel