liunx 安装Thinkphp环境(nginx,php,php-fpm)

一、前言

thinkPHP是一款简单好用的框架,想要将其部署到liunx环境运行,需要安装php,nginx,php-fpm。
其中:
php是php语言的基础,可以通过yum install php 安装,但是会缺失mysqli的核心包,所以建议通过编译方式安装。
php-fpm是一个FastCGI管理器,提供了一个和外部通信的接口,有点类似于socket,使得PHP可以和其他应用进行交互数据(apache,nginx,cli等)。具体可以参考文章 php-fpm详细介绍
nginx 相比都很熟悉了,一个高性能的HTTP服务器和反向代理服务器。
理论上还需要装mysql,但是由于mysql一般都是独立管理,所以这次就不装了,mysql的安装流程可以参考 liunx 下安装mysql8

二、php安装
  • 安装依赖包
yum install -y gcc gcc-c++ make sudo autoconf libtool-ltdl-devel gd-devel \
        freetype-devel libxml2-devel libjpeg-devel libpng-devel \
        openssl-devel curl-devel patch libmcrypt-devel \
        libmhash-devel ncurses-devel bzip2 \
        libcap-devel ntp sysklogd diffutils sendmail iptables unzip cmake  sqlite-devel oniguruma oniguruma-devel
  • 下载php:
    wget https://www.php.net/distributions/php-7.4.5.tar.gz

  • 解压:
    tar -zxvf php-7.4.5.tar.gz

  • 进入目录:
    cd php-7.4.5

  • 创建www用户,用于fpm
    groupadd www
    useradd -r www -g www

  • 编译,这里要注意有没有报错提示。

./configure --prefix=/usr/local/php --enable-fpm --with-fpm-user=www \ 
--with-fpm-group=www --with-openssl --with-libxml-dir --with-zlib \
--enable-mbstring --with-mysqli=mysqlnd --enable-mysqlnd \
--with-gd  --with-freetype-dir --enable-sockets --with-curl \
--enable-maintainer-zts

参数介绍:
–prefix 安装到的目录
–enable-fpm 开启fpm 模式,nginx 下必需开启
–enable-fpm-user fpm 的启动账户
–enable-fpm-group fpm 的启动账户组
–with-openssl 开启 openssl
–with-libxml-dir 开启 libxml
–with-zlib 开启 zlib
–enable-mbstring开启 mbstring
–with-mysqli=mysqlnd 开启 mysqli
–with-pdo-mysql 开启 pdo mysql
–with-gd 开启gd库
–enable-sockets 开启 sockets
–with-curl 开启 curl
–enable-maintainer-zts 开启 maintainer zts,以后安装多线程的话,这个必须开启

然后会出现一堆输出,最后的成功输出如下:

再运行:
make
make install

  • 创建php的软连接,方便使用php命令
    ln -s /usr/local/php/bin/php /usr/bin/php

  • 运行php -v 命令,查看php是否安装成功
    php -v


三、php-fpm
cd /usr/local/php/
cp etc/php-fpm.conf.default etc/php-fpm.conf
cp etc/php-fpm.d/www.conf.default etc/php-fpm.d/www.conf
cp /data/download/php-7.4.5/php.ini-production lib/php.ini
  • 启动php-fpm,端口默认是9000,可以在 etc/php-fpm.d/www.conf里修改端口
/usr/local/php/sbin/php-fpm
  • ps -ef|grep php 查看是否启动成功

四、安装nginx
  • 安装nginx
    yum -y install nginx
  • 启动nginx
    service nginx start
  • 新增域名的配置,www.baidu.conf可以替换成你自己的域名,但注意文件必须以.conf结尾
    vim /etc/nginx/conf.d/www.baidu.conf
  • 内容
server {
    # http是默认80,https是443
    listen       443;
    # 域名    
    server_name  www.baidu.com;

    ssl on;
    # 证书路径
    ssl_certificate      /etc/nginx/ssl/www.baidu.com/www.baidu.pem;
    ssl_certificate_key  /etc/nginx/ssl/sf.qianhai12315.com/3560790_sf.qianhai12315.com.key;

    # 访问日志的路径,非必需
    access_log  /var/log/nginx/www.baidu.access.log  main;

    location ~ \.php/?.*$ {
      # 项目根目录
      root /datanew/www;
      # fastcgi 服务器地址,也就是php-fpm
      fastcgi_pass   127.0.0.1:9000;

      #fastcgi_param PATH_INFO $path_info; 
      #定义变量 $path_info ,用于存放pathinfo信息
      set $path_info "";
      #定义变量 $real_script_name,用于存放真实地址
      set $real_script_name $fastcgi_script_name;
      #如果地址与引号内的正则表达式匹配
      if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
           #将文件地址赋值给变量 $real_script_name
          set $real_script_name $1;
           #将文件地址后的参数赋值给变量 $path_info
          set $path_info $2;
       }
       # 包括fastcgi的默认配置文件
       include  fastcgi.conf;
       # 更新几个默认配置,方便适配pathinfo路由格式
       fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
       fastcgi_param SCRIPT_NAME $real_script_name;
       fastcgi_param   PATH_INFO $path_info;
    }

}
  • 测试配置文件,如果出现 successful就说明配置正确,否则需要根据提示修改。
    nginx -t
  • 重新加载配置文件
    nginx -s reload
四、环境部署完成
接下来只需要把thinkphp里的代码拷贝到nginx 里配置的 项目根目录下,然后访问 [https]😕/[域名]/[项目名]就可以了。

参考文章:
https://www.cnblogs.com/phpxj/p/11587381.html
https://www.osyunwei.com/archives/9804.html
https://blog.csdn.net/ahaotata/article/details/83825977
https://www.cnblogs.com/yangruizeng/p/7762309.html
https://blog.csdn.net/a315821168/article/details/80332676

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值