#centos7搭建php8+nginx环境#

场景:为了实现上传的pdf文件转成png图片,需要搭建一个php8+nginx的运行环境,最后安装imagic扩展

安装顺序 php-> linux-> imagemagick -> ghostscript -> imagick
一:安装php+nginx环境

1、安装remi扩展源

remi源是Remi repository是包含最新版本PHP和MySQL包的Linux源,由Remi 提供维护。有个这个源之后,使用YUM安装或更新PHP、MySQL、phpMyAdmin等服务器相关程序的时候就非常方便了。

[root@localhost ~]# yum -y install epel-release

[root@localhost ~]#

wget http://rpms.remirepo.net/enterprise/remi-release-7.rpm

# 如果网不好的话可以考虑下清华软件源
#https://mirrors.tuna.tsinghua.edu.cn/remi/enterprise/remi-release-7.rpm
sudo rpm -ivh remi-release-7.rpm

2、安装YUM管理工具

[root@localhost ~]# yum -y install yum-utils

3、列出php80所有可用安装包

[root@localhost ~]# yum list |grep php80

4、查看生成的Yum源仓库

[root@localhost ~]# ll /etc/yum.repos.d


5、安装PHP及插件(插件功能根据情况安装 这里只安装了比较常用的插件)

[root@localhost ~]# yum -y install php80-php-cli php80-php-xml php80-php-common php80-php-devel php80-php-embedded php80-php-fpm php80-php-gd php80-php-mbstring php80-php-mysqlnd php80-php-pdo php80-php-opcache php80-php-xml php80-php-soap

6、查看是否安装成功及php配置文件以及对应目录

[root@localhost ~]# rpm -qa |grep php80

[root@localhost ~]# rpm -ql php80-php-fpm


7、创建软连接

[root@localhost ~]# ln -sf /opt/remi/php80/root/usr/bin/php* /usr/local/bin

8、查看PHP版本

[root@localhost ~]# php -v

PHP 8.0.28 (cli) (built: Feb 14 2023 11:05:44) ( NTS gcc x86_64 )

Copyright (c) The PHP Group

Zend Engine v4.0.28, Copyright (c) Zend Technologies

    with Zend OPcache v8.0.28, Copyright (c), by Zend Technologies

9、启动PHP-FPM

[root@localhost ~]# systemctl start php80-php-fpm

10、设置开机自启动

[root@localhost ~]# systemctl enable php80-php-fpm

11、常用基本操作

1)启动PHP

[root@localhost ~]# systemctl start php80-php-fpm

2)停止PHP

[root@localhost ~]# systemctl stop php80-php-fpm

3)重载PHP

[root@localhost ~]# systemctl reload php80-php-fpm

4)重启PHP

[root@localhost ~]# systemctl restart php80-php-fpm

5)查询PHP运行状态

[root@localhost ~]# systemctl status php80-php-fpm

6)查询PHP进程

[root@localhost ~]# ps -ef |grep php-fpm

7)查询PHP监听端口

[root@localhost ~]# netstat -lntup |grep php-fpm

8)卸载PHP

[root@localhost ~]# yum -y remove php80*

二:安装nginx

1:安装EPEL仓库,以便安装额外的包:
    sudo yum install epel-release
2:安装Nginx:
   sudo yum install nginx
3:启动并设置Nginx开机自启:
  sudo systemctl start nginx
  sudo systemctl enable nginx

3:配置nginx.conf配置文件
 

location ~ \.php(.*)$ {
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
            fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
            fastcgi_param  PATH_INFO  $fastcgi_path_info;
            fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
            include        fastcgi_params;
        }


三:安装扩展

1:安装基础软件
yum install ImageMagick
yum install ImageMagick-devel
yum -y install ghostscript

2:安装php的imagick扩展  
    注意imagick与php版本有关系,低版本的php有可能出现不兼容的情况
    

yum install php-pear 
yum -y install php80-php-devel
yum install gcc
#安装gcc的另外一个方法
#yum install gcc gcc-c++ autoconf automake
pecl install imagick
#pecl卸载插件
#pecl uninstall imagick

修改配置文件(php.ini具体位置根据实际情况定,使用phpinfo()查看它的路径,因为查看路径的方式很多,例如使用php --ini , 刺方法显示的路径可能不一样)
在/etc/php.ini 加上extension=imagick.so的安装路径,如图所示

重启php-fpm: 使用的是php80的,重启命令如下

systemctl start  php80-php-fpm
systemctl stop  php80-php-fpm

查看是否成功,如图所示成功


四:验证一下
convert -v               # imagemagick
php -m | grep imagick   # imagick
gs -v                   # ghostscript
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/665462.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Superset二次开发之更新 SECRET_KEY

SECRET_KEY 的作用 加密和签名:SECRET_KEY用于对敏感数据(如会话、cookie、CSRF令牌)进行加密和签名,防止数据被篡改。安全性:确保应用的安全性,防止跨站请求伪造(CSRF)攻击和会话劫持等安全问题。如何生成 SECRET_KEY openssl rand -base64 42 配置 SECRET_KEY 在sup…

linux开发之设备树六、linux下pinctrl子系统管理设置pin管脚的复用功能(一般原厂提供)

客户端的编写格式是固定的,不管哪家原厂的处理器,格式都是一样的 对于服务端部分是原厂提供,各个芯片肯定就不一样了,主要在于编写的格式不同 pinctrl客户端写法 使用pinctrl设置管脚复用 在kernel/arch/arm64/boot/dts/rockchi…

六一见!|Post Microsoft Build and AI Day 上海开发者日

编辑/排版:Alan Wang 大小朋友明天见! 6月1日,Microsoft Azure & Microsoft Reactor 面向大小朋友特别推出六一特辑,「Post Microsoft Build and AI Day 上海开发者日」 探讨 Microsoft Build 2024 带来的最新发布&#xff0…

Java常用API(三)

一、Arrays类 1.定义 Arrays是一个用于操作数组的工具类。 2.常用方法 1.toString方法 public class Demo {public static void main(String[] args) {//toString 将数组变成字符串int[] arr {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};System.out.println(Arrays.toString(arr));…

绿色之国斯洛文尼亚的必游景点

斯洛文尼亚拥有多样化的景观,本身就是一个十分吸引人的地方。它是世界上第一个被宣布为绿色旅游目的地的国家。这里除了有优越特殊的自然特色外,还有被联合国教科文组织列为世界遗产的保护区,以及关于爱情、贵族、盐和地下神话的惊奇故事。 世…

ABB机器人碰撞检测灵敏度设置

机器人的碰撞灵敏度是指机器人对碰撞事件的识别和反应能力。碰撞灵敏度取决于机器人的感知和控制系统以及其硬件结构。控制系统则负责根据感知系统的反馈信息,对机器人进行相应的控制和调整,以减少或避免碰撞。控制系统可以根据碰撞的严重程度来判断机器…

8-异常与错误

8-异常与错误 1、简介2、异常处理2.1 抛出异常2.2 捕获异常2.3 匹配顺序 3、异常说明4、构造函数中的异常5、析构函数中的异常6、标准库异常 1、简介 在程序编码过程中难免会出现错误,主要有:语法错误、逻辑错误、功能错误等,当我们面对以上…

DAQmx Connect Terminals (VI) 信号路由作用及意义

DAQmx Connect Terminals是一个LabVIEW虚拟仪器(VI),用于配置和连接数据采集系统中的物理终端或虚拟终端。这一功能在配置复杂的数据采集(DAQ)系统时非常重要,因为它允许用户在不改变硬件连接的情况下&…

景源畅信数字:抖音新手如何找好自己的发布领域?

在短视频的浪潮中,抖音以其独特的魅力吸引了众多用户。对于刚踏入这个平台的新手来说,找到适合自己的发布领域至关重要。那么,如何在这个充满竞争的平台上找到自己的定位呢?接下来,就让我们一起来探讨这个问题。 一、明确兴趣爱好…

活动选择问题(贪心法)

目录 问题概述 实例分析 代码实现 问题概述 实例分析 求解蓄栏保留问题。农场有n头牛,每头牛会有一个特定的时间区间[b,e]在蓄栏里挤牛奶,并且一个蓄栏里任何时刻只能有一头牛挤奶。现在农场主希望知道最少蓄栏能够满足上述要求,并给出每头牛被安排的方案。对于多种可行方案…

情感读本期刊万方收录综合期刊投稿

《情感读本》杂志是由国家新闻出版总署批准,湖北省新闻出版广电局主管,湖北省期刊协会主办的正规综合类期刊。《情感读本》是一本以推动和发展情感教育、素质教育、人文教育为己任,奉行“立足教育,服务社会”的办刊宗旨&#xff0…

ChatGPT产品创意,直接出概念图

直接问,“给我一个创意点子” AI7号 它推荐我做一个智能家居植物管理系统,嗯,很小众的样子。直接让它出一张概念图吧。 像模像样,一张图太单薄了,再来5张。 呃...做了4张,下面还有每张图的说明。 你觉得怎…

(奇幻森林)POLYGON - Enchanted Forest - Nature Biomes - 3D Environment Art by Synty

各种雄伟的树木,装饰着优雅简化的树叶,在头顶形成了一个天堂般的树冠,在苔藓覆盖的森林地面上投下了宁静的咒语。 每一项资产,从引人入胜的环境材料到平缓的波浪状山丘,都经过精心制作,将您带到魔法和自然融合的地方。POLYGON-魔法森林-自然生物技术为数字领域注入真正魔…

实战16:基于apriori关联挖掘FP-growth算法挖掘关联规则的手机销售分析-代码+数据

直接看视频演示: 基于apriori关联挖掘关联规则的手机销售分析与优化策略 直接看结果: 这是数据展示: 挖掘结果展示: 数据分析展示:

矩阵短视频:成都科成博通文化传媒公司

重塑内容生态与传播格局、在数字化时代,短视频以其独特的形式和高效的传播能力,迅速崛起并成为了社交媒体领域的明星。成都科成博通文化传媒公司​而“矩阵短视频”作为短视频领域的一种新兴策略,正以其独特的优势,逐渐重塑内容生…

【JAVASE】String 类常用方法

1、字符串构造 String类提供的构造方式很多,常用的有三种。 (1)使用常量串构造 例如: (2)直接new String对象 例如: (3)使用字符数组进行构造 例如: 2…

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口【仅供参考】

20240531在飞凌的OK3588-C开发板上跑原厂的Buildroot测试ETH0接口 2024/5/31 20:28 rootrk3588-buildroot:/# ifconfig eth0 up rootrk3588-buildroot:/# ifconfig eth1 up rootrk3588-buildroot:/# ifconfig rootrk3588-buildroot:/# rootrk3588-buildroot:/# ifconfig eth1…

Linux CFS调度器之周期性调度器scheduler_tick函数

文章目录 前言一、简介二、源码分析2.1 scheduler_tick2.2 task_tick2.3 entity_tick2.4 check_preempt_tick2.5 resched_curr 参考资料 前言 Linux内核调度器主要是主调度器和周期性调度器,主调度器请参考:Linux 进程调度之schdule主调度器 一、简介 …

如何在IDEA中实现类似Linux命令那样的外部传参

【背景说明】 IDEA中执行一个程序时,如何就在程序一开始执行给传入你给的参数呢? 【说明】 public static void main(String[] args) throws Exception {} 说明:其实java中main方法里的args这个参数,就是用于接收外部传参的。…