在CentOS7下使用官方推荐的composer进行laravel环境的安装——详细

前言

上次发布了一个用ubuntu进行部署laravel环境,但是

过去了这么长时间,环境的东西都搞忘了。因为现在在华为云搞了一台云服务器,想着直接在服务器上安装环境进行开发算了,然后使用了的系统是CentOS7.6,开发IDE用了code-server进行在线开发。使用composer进行环境部署。

安装composer

更新yum镜像源

因为centos下要进行一些东西的安装,所以我们索性将系统的yum源换成国内的阿里源,以便于安装速度的加快。

  1. 对镜像源的配置文件进行备份(好习惯,先备份再进行操作,避免出错)
#将镜像配置文件进行备份
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
  1. 下载阿里镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  1. 清理缓存
yum clean all
  1. 重新生成缓存
yum makecache

出现
在这里插入图片描述
并且提示Metadata Cache Created则完成换源操作

yum repolist #查看源信息
yum update #首先进行更新

安装php

  1. 安装remi扩展源
yum install https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
  1. 安装php8.1,因为我还是选择laravel9,官方说laravel9.x最低php要求php8.0.2,那我就选择8.1版本
yum list | grep php81

PHP >= 8.0
BCMath PHP 扩展
Ctype PHP 扩展
DOM PHP 扩展
Fileinfo PHP 扩展
JSON PHP 扩展
Mbstring PHP 扩展
OpenSSL PHP 扩展
PCRE PHP 扩展
PDO PHP 扩展
Tokenizer PHP 扩展
XML PHP 扩展
3. 上述是官方说明的必须的依赖,所以我们先安装这些依赖和常用包

yum -y install −−enablerepo=remi-php81 php81 php81-php php81-php-xml php81-php-xmlrpc php81-php-pecl-mcrypt php81-php-fpm php81-php-pecl-apcu php81-php-mbstring php81-php-gd php81-php-json php81-php-pecl-json-post php81-php-pdo php81-php-mysqlnd php81-php-pecl-mysql php81-php-opcache php81-php-pear php81-php-soap php81-php-intl php81-php-pear php81-php-pecl-redis5 php81-php-odbc php81-php-bcmath php81-php-cli
#yum -y install 这个-y一定要加,他的作用就是在安装时不用提示你是否要继续安装,直接默认安装
#不然这么多包,安装起来一直提示,麻烦死了。
  1. 安装完成后,使用命令php -v查看版本号是会遇上查看不到,需要建立软连接
ln -sf /usr/bin/php81 /usr/bin/php

使用命令 php -v就能看到我们的版本号了
在这里插入图片描述
启用一下php-fpm

systemctl enable php81-php-fpm #设置开机自启
systemctl start php81-php-fpm #启动

至此php8.1安装完毕

安装composer

  1. 进行全局安装,先下载安装脚本
php -r "copy('https://install.phpcomposer.com/installer', 'composer-setup.php');"

这个时候,使用ls命令查看当前目录下可以看到多了一个composer-setup.php文件,这个就是我们composer的安装文件
2. 执行安装命令

 php composer-setup.php

出现如下,安装成功
在这里插入图片描述

  1. 删除安装脚本
php -r "unlink('composer-setup.php');"
  1. 将compser.phar添加到全局变量中
mv composer.phar /usr/local/bin/composer

然后执行composer --version,就可以查看到composer的版本号了,这就代表安装成功。
如果提示你

Do not run Composer as root/super user! See https://getcomposer.org/root for details

这是因为你现在正在超级用户目录下,composer不希望你在超级目录用户下执行他的命令。创建一个用户用其他用户执行就行。

useradd 用户名 #创建用户
su - 用户名 #切换用户
exit #退出当前用户
su root #切换超级用户

最后,官方提示,经常执行命令进行composer的升级

提示:不要忘了经常执行 composer selfupdate 以保持 Composer 一直是最新版本哦!

安装Laravel安装器

laravel安装器进行laravel项目的安装比较方便吧,我个人这么觉得,记得使用composer命令时切换到其他用户,不要在root超级用户下执行

composer global require laravel/installer

此时还是不能使用laravel命令创建的,因为需要在配置一下laravel的环境变量,官方文档也是这么说的
在这里插入图片描述
配置环境变量两种方式

#临时配置,shell关闭后就失效,不建议
export PATH="$HOME/.config/composer/vendor/bin:$PATH";
#在/etc/bashrc中添加上面这行命令,但是前提是一定要先进入管理员角色
vim /etc/bashrc #vim命令不会的可以百度一下,修改文件,添加上面那条命令,然后保存退出
source ~/.bashrc #让这个变量立即生效

在这里插入图片描述
然后再执行下述命令直接创建成功

laravel new example-app
cd example-app
cp .env.example .env #复制配置,覆盖就行
php artisan serve
#php artisan serve --port=8888可以进行端口指定,只能本地浏览器访问
#因为我是服务器运行,需要一个设置host,相当于让其他ip也能够有访问权限
#php artisan serve --host=0.0.0.0 --port=8888 这样我才能通过公网IP访问

在这里插入图片描述
在这里插入图片描述
如上所示,我们已经能能够成功访问laravel了,但是每次都是一次性访问,当我们在shell端退出了php artisan serve命令时,程序就断掉了。需要继续配置,下面还要进行数据库的安装和nginx的配置。

安装nginx

下载nginx压缩包,可以去nginx官网看看,选择合适的版本,然后右键复制链接然后是wget命令下载就好了

su root #进入超级管理员用户
wget https://nginx.p2hp.com/download/nginx-1.22.0.tar.gz

然后直接解压

tar -zxvf nginx-1.22.0.tar.gz 

在这里插入图片描述
安装部份依赖

yum -y install gcc-c++ #安装c语言依赖
yum install -y pcre pcre-devel #安装正则解析依赖
yum install -y openssl openssl-devel #用户http安全传输,https
yum install -y zlib zlib-devel #别人装那我也装一个

进入你的nginx-1.22.0目录,然后执行命令

mkdir /var/temp/nginx -p
./configure 

执行完后,你可以在你的nginx-1.22.0目录下看到一个Makefile文件
在这里插入图片描述
接下来,按顺序执行下面的命令

make
make install

安装完后,我们使用whereis nginx就能查看到nginx所在目录
在这里插入图片描述
进入所在目录,执行命令启动nginx

cd /usr/local/nginx/sbin
./nginx

在浏览器输入127.0.0.1或者公网IP就可以看到nginx已经启动了
在这里插入图片描述
但是大家有没有觉得这样开启服务太麻烦了,因为习惯用systemctl来进行服务的管理,所以我们可以进行修改,当然如果你不愿意修改的话就跳过下面的步骤。

cd /lib/systemd/system #进入系统服务目录
vim nginx.service #创建nginx服务文件

在其添加如下信息,保存并退出,记得注释删掉,不然容易报错

[Unit] 
Description=nginx 
After=network.target 
 
[Service] 
Type=forking 
ExecStart=/usr/local/nginx/sbin/nginx    #修改为自己系统对应的路径 
ExecReload=/usr/local/nginx/sbin/nginx -s reload #修改为自己系统对应的路径 
ExecStop=/usr/local/nginx/sbin/nginx -s quit    #修改为自己系统对应的路径 
PrivateTmp=true 
 
[Install] 
WantedBy=multi-user.target

输入命令进行测试

systemctl daemon-reload #重置systemctl缓存
systemctl enable nginx #设置开机自启
systemctl restart nginx #重启
systemctl status nginx #查看状态

接下来进行nginx配置,进入nginx的配置文件

cd /usr/local/nginx/conf/
ls

可以看到一个nginx.conf文件,直接清空进行修改

vim nginx.conf

将server中的内容清空
配置内容从官网直接复制,然后修改路径位置
在这里插入图片描述
listen是你想要监听的端口
server_name是你的服务名称
root是你的应用所在位置,要定位到public

server {
    listen 80;
    listen [::]:80;
    server_name example.com; #服务名称
    root /srv/example.com/public; #所在根目录,最好不要放在home下面,我放在了opt中,会涉及到权限问题,我折腾了很久

    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 127.0.0.1:9000; #这里我改成了IP,因为centos7好像没有unix模式,我没找到,php-fpm运行再9000端口下
        fastcgi_index  index.php;
        fastcgi_param SCRIPT_FILENAME /document_root$fastcgi_script_name;#这里也可以改成你网站的根目录
        #fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
        #fastcgi_param SCRIPT_FILENAME $realpath_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.(?!well-known).* {
        deny all;
    }
}

保存后重启nginx,就可以了,我遇到了一些权限问题,但是我上面配置内容改了以下,应该不会错了。
在这里插入图片描述
如上图所示,就是安装好了

MySQL安装

数据库使用mysql,我平常用的多的也是mysql,所以直接用MySQL作为数据存储库。
直接使用命令安装

yum -y install mysql #安装mysql客户端,默认装上来的是mariab

然后我们打开mysql的yum下载官网https://dev.mysql.com/downloads/file/?id=513590
在这里插入图片描述
右键,选择复制链接,然后回到我们的终端,用wget命令拉取yum源文件

wget https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm #下载源
yum -y install mysql80-community-release-el7-7.noarch.rpm #安装源

再用命令查看能够安装的mysql服务端安装包

yum repolist enabled | grep mysql.*

在这里插入图片描述
键入命令进行安装服务端

 yum -y install mysql-community-server

安装完毕后启动服务并设置开机自启

systemctl enable mysqld
systemctl start mysqld

查看密码,mysql初次安装都会产生一个log文件,里面有密码,有些人是mysql.log有些是mysqld.log,取决于版本吧

cat /var/log/mysqld.log

在这里插入图片描述
这里我们可以看到密码,然后我们进行登录

mysql -uroot -p4YL_JR1.yJKW

在mysql中进行密码修改。,这里修改会出现问题,怎么解决自己找吧,mysql8要求密码必须八位,大小写字母,下划线,数字
我修改了他的密码规则还是不行,老出错,这个大家自己解决一下,我直接设计了一个复杂密码。重启后就能用了

netstat -lnp |grep mysql #查看运行着的MySQL端口,一般都是3306

安装完后我在自己的服务器上安装了code-server,然后就可以直接在网页上进行代码开发啦。
在这里插入图片描述
code-server命令,这里是我自己做个记录,记录code-server持久化运行命令,各位不必在意,略过此条

#安装 yum -y install screen
#创建一个窗口  # screen -S vscode
#运行 export PASSWORD="password" && ./code-server --port 8080 --host 0.0.0.0

感谢以下文章和其作者

CentOS7通过yum安装httpd和php8.0
安装 Composer——中文文档
PHP artisan serve 运行项目之后不能用 ip 地址访问
Laravel中文文档
CentOS7中Nginx的systemctl启动方式(启动、停止、重启、开机启动)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

祖安大龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值