CentOS 7.9 配置laravel笔记

升级EPEL仓库 

sudo yum -y install epel-release

安装Nginx 

# 安装Nginx
sudo yum -y install nginx

# 安装完成后,启动Nginx并将其添加到系统自启动
sudo systemctl start nginx
sudo systemctl enable nginx

# Nginx默认运行在80端口,使用下面的netstat命令检查。
netstat -plntu | grep 80

安装php-fpm( remi仓库方式)

sudo rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
sudo rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
sudo yum-config-manager --enable remi-php82 # 默认remi仓库禁用的,在实际需要的时候启用
sudo yum update
# sudo yum search php82 | more
sudo yum install -y php82 php82-php-fpm php82-php-gd php82-php-json php82-php-mbstring php82-php-mysqlnd php82-php-xml php82-php-xmlrpc php82-php-opcache php82-php-pecl-zip php82-php-pecl-memcached
sudo mkdir -p /run/php-fpm/remi-php82 # 创建一个sock存放的目录
sudo ln -s  `which php82` /usr/local/sbin/php # 建立软连接方便命令行使用

执行完上面的命令后,CentOS系统上已经安装了PHP 8.2, 安装好的php81目录在/etc/opt/remi/php82

配置php-fpm 

通过使用vi编辑配置文件php.ini来配置PHP,remi仓库方式安装的主配置文件存放位置在/etc/opt/remi/php82/php.ini

在文件中找如如下行,取消它的行注释并将值更改为0。

cgi.fix_pathinfo=0

 保存文件并退出编辑器。

编辑php-fpm文件www.confremi仓库方式安装的配置文件存放位置在/etc/opt/remi/php82/php-fpm.d/www.conf

php-fpm将在用户和组nginx下运行,将下面两行的值更改为nginx,这里用户和用户组请保持与Nginx的用户和用户组一致。

# 用户和组保持和Nginx一致,使用命令 egrep '^(user|group)' /etc/nginx/nginx.conf 查看nginx进程的用户
user = nginx
group = nginx

php-fpm将在套接字文件下运行,而不是使用服务器端口,remi仓库方式安装的PHP可以将值改为/run/php-fpm/remi-php82/php-fpm.sock,套接字文件所有者将是“nginx”用户,权限模式为660,取消注释并更改所有值。

listen = /run/php-fpm/remi-php82/php-fpm.sock

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

保存文件并退出vi编辑,然后启动php-fpm并使其在启动时运行。 

sudo systemctl start php82-php-fpm.service
sudo systemctl enable php82-php-fpm.service

使用remi仓库的时候启动的时候可能会报错,由于php-fpm.sock文件目录不存在,执行命令:sudo mkdir -p /run/php-fpm/remi-php82后在启动就没有问题了。 

检查php-fpm

php-fpm在套接字文件下运行,使用以下命令检查。

sudo netstat -pl | grep php-fpm.sock

安装MySQL 

下载并安装MySQL 5.7

wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
rpm -ivh mysql57-community-release-el7-11.noarch.rpm
sudo yum update
sudo yum install -y mysql-server

 安装过程遇到 GPG keys 报错

添加–nogpgcheck就可以了:禁掉GPG验证检查

sudo yum -y install mysql-server --nogpgcheck

启动MySQL

使用下面的命令启动mysql并使其随系统启动而启动。

sudo systemctl start mysqld
sudo systemctl enable mysqld

测试MySQL

MySQL已经启动并在3306端口上运行,可以使用netstat命令检查。

netstat -plntu | grep 3306 # 检查端口
ps aux|grep mysqld # 检查进程

配置MySQL 

获取安装时初始化密码

sudo grep 'temporary password' /var/log/mysqld.log

登录并重设root账户密码

mysql -uroot -p 
# 回车输入上面获取到的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPassword1!';

创建一个测试数据库和测试用户

CREATE DATABASE laravel; -- 创建一个laravel数据库
GRANT ALL PRIVILEGES ON laravel.* TO laravel@localhost IDENTIFIED BY "LaravelPassword1!"; -- 创建一个对应的用户

 至此,MySQL的安装和配置已经完成。

安装memcached

1、安装 Memcached 和 libmemcached:

sudo yum install memcached libmemcached

2、启动 Memcached 服务:

sudo systemctl start memcached

#设置开机启动
sudo systemctl enable memcached

3、检查 Memcached 服务的运行状态:

sudo systemctl status memcached

安装PHP Composer

PHP composer是PHP语言的包管理器。 它创建于2011年,灵感来自于Node.js的“npm”和Ruby的“bundler”安装程序。 使用curl命令安装composer。

php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
sudo mv composer.phar /usr/local/bin/composer

 配置Packagist国内镜像

composer config -g repo.packagist composer https://packagist.phpcomposer.com

#改回原来的源
composer config -g repo.packagist composer https://repo.packagist.org

安装完成后,尝试使用“composer”命令,您将看到以下结果。

composer

 # 查看配置的Packagist国内镜像
composer config -g repo.packagist -l

至此,PHP Composer已经正常安装在了CentOS系统上。

NodeJS + NPM + Yarn

sudo yum -y install nodejs npm
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo yum install -y yarn

安装Laravel测试LNMP

现在进入到 laravel 的根目录'/var/www/laravel'。

sudo mkdir -p /var/www/laravel && cd /var/www/laravel

Laravel提供了两种在服务器上安装框架的方法。可以用Laravel安装程序安装Laravel,也可以用PHP composer安装它。在这里我将通过使用composer命令创建一个新项目来安装Laravel,运行下面的命令来安装Laravel。

composer create-project laravel/laravel .

等待Laravel安装完成。 这可能需要一些时间。

#如出现错误 Could not find package laravel/laravel with stability stable.

尝试切换镜像源

composer config -g repo.packagist composer https://packagist.org

安装完成后,将Laravel Web根目录的所有者更改为“nginx”用户,并使用以下命令将存储目录的权限更改为755。

chown -R nginx:root /var/www/laravel
chmod 755 -R /var/www/laravel/storage

至此,Laravel安装已经完成。

为Larvel配置Nginx配置

在这个步骤中,将为 Laravel 项目创建 Nginx 虚拟主机配置。 我们需要为此 Laravel 定义web根目录/var/www/laravel/public

接下来,cd到 Nginx 目录,并在conf.d目录中创建一个新的虚拟主机配置文件laravel.conf

cd /etc/nginx
vim conf.d/laravel.conf

将下面的配置粘贴到文件中:

server {
    listen 80;

    # 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.domain.io;

    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; # webtatic
        fastcgi_pass unix:/run/php-fpm/remi-php82/php-fpm.sock; # remi
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

保存文件并退出vi编辑器。

测试并重启Nginx

测试nginx配置,确保没有错误,然后重新启动nginx服务。

# 测试配置是否正确
nginx -t 

# 重启Nginx
sudo systemctl restart nginx 

至此,Laravel的nginx虚拟主机配置已经完成。

使用前,在laravel目录下,修改.env文件

DB_PASSWORD=MyNewPassword1!

lnmp 环境下安装,提示autoload.php文件不存在,修改nginx的fastcgi配置,最后一行如下

fastcgi_param PHP_ADMIN_VALUE "open_basedir=$document_root/:/tmp/:/proc/:/home/wwwroot/"

本片笔记仅为个人记录操作过程,如有侵权请告知。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值