TencentOS3.1安装PHP+Nginx+redis测试系统

news2024/9/27 15:29:19

PHP和Nginx应用统一安装在/application下。

Nginx选用了较新的版本1.25.0

官网下载安装包,解包。执行如下命令编译:

./configure  --prefix=/application/nginx-1.25.0 --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --add-module=/application/headers-more-nginx-module-0.34

这里nginx用了一个扩展模块,使用add-module添加。

编译完成后执行如下命令完成安装。

make && make install

完成编译安装需要gcc支持,如果没有,使用如下命令安装。

yum install gcc -y

配置好配置文件然后启动服务。

可以直接使用sbin下的nginx命令启动服务。这里使用了一个启动脚本来启动服务。

如下:

#! /bin/sh
 
### BEGIN INIT INFO
# Provides:          nginx
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts the nginx web server
# Description:       starts nginx using start-stop-daemon
### END INIT INFO
 
#PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
DAEMON=/application/nginx/sbin/nginx
DAEMON_OPTS='-c /application/nginx/conf/nginx.conf'
NAME=nginx
DESC=nginx
 
test -x $DAEMON || exit 0
 
# Include nginx defaults if available
#if [ -f /etc/default/nginx ] ; then
#  . /etc/default/nginx
#fi
 
set -e
 
case "$1" in
  start)
    echo -n "Starting $DESC: "
    #start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
    $DAEMON
    echo "$NAME."
    ;;
  stop)
    echo -n "Stopping $DESC: "
    #start-stop-daemon --stop --quiet --pidfile /var/run/nginx.pid --exec $DAEMON
    $DAEMON -s stop
    echo "$NAME."
    ;;
  restart|force-reload)
    echo -n "Restarting $DESC: "
    #start-stop-daemon --stop --quiet --pidfile /var/run/nginx.pid --exec $DAEMON
    $DAEMON -s stop
    sleep 1
    #start-stop-daemon --start --quiet --pidfile /var/run/nginx.pid --exec $DAEMON -- $DAEMON_OPTS
    $DAEMON
    echo "$NAME."
    ;;
  reload)
    echo -n "Reloading $DESC configuration: "
    #start-stop-daemon --stop --signal HUP --quiet --pidfile /var/run/nginx.pid \
    #    --exec $DAEMON
    $DAEMON -s reload
    echo "$NAME."
    ;;
  status)
    echo  "nginx processing total:"
    ps aux |grep  "nginx" |grep -v "grep" |grep -v "status"|wc -l
    echo
   ;;
  configtest)
    $DAEMON -t $DAEMON_OPTS 
    ;;
  *)
    N=/etc/init.d/$NAME
    echo "Usage: $N {start|stop|restart|configtest|force-reload}" >&2
    exit 1
    ;;
esac
 
exit 0

下面安装PHP。版本安装了2个7.1.33和8.0.27

安装过程基本一致,下面是安装7.1.33的步骤。

官网下载安装包并解包。

执行如下编译命令:

./configure  --prefix=/application/php-7.1.33 --enable-zip --with-libzip --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-fpm --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --with-fpm-user=www --with-fpm-group=www --enable-ftp --enable-opcache=no
此时可能报错。主要原因是缺少依赖包支持。下面是部分报错信息:

错误信息1

 执行如下命令,检查已经安装的包和可安装的包。

rpm -qa | grep libjpeg
yum list  | grep libjpeg

 安装依赖包命令如下:

yum -y install libjpeg-devel

 错误信息2

执行如下命令,检查已经安装的包和可安装的包。

rpm -qa | grep libjpeg
yum list  | grep libjpeg

 安装依赖包命令如下:

yum install libpng-devel

 错误信息3

执行如下命令,检查已经安装的包和可安装的包。

rpm -qa |grep freetype
yum list |grep freetype

  安装依赖包命令如下:

yum install freetype-devel

 错误信息4

 安装依赖包命令如下:
yum install libmcrypt*

 这个依赖包需要epel源,如果没有,清线安装epel源。

可以使用如下命令:

yum install epel-release

我这里简单粗暴复制了一个epel源文件过来,然后清理缓存再生成缓存。

yum clean all && yum makecache

错误信息5

configure: error: xslt-config not found. Please reinstall the libxslt >= 1.1.0 distribution

安装依赖命令如下:
yum install libxslt libxslt-devel

错误信息6

 

 安装依赖包命令如下:

yum install libzip libzip-devel 

 编译php成功后执行make && make install完成安装

php配置文件有4个。分别是etc/pear.conf,etc/php-fpm.conf, etc/php-fpm.d/www.conf,lib/php.ini

php源文件目录下,复制启动脚本,并给与执行权限:

cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm

chmod +x /etc/init.d/php-fpm 

启动服务:

/etc/init.d/php-fpm start

php8安装基本一致,因为一个服务期内有2个版本,所以注意修改不同的安装目录和端口号。

etc/php-fpm.d/www.conf文件中listen选项就是定义绑定地址和端口号的

php扩展安装

下载redis扩展包,然后解包。

以php7.1.33安装扩展为例

在redis扩展安装包目录内:

/application/php-7.1.33/bin/phpize

./configure --with-php-config=/application/php-7.1.33/bin/php-config

make && make install

完成后会提示一个路径,该路径就是redis.so文件所在位置。

修改php.ini,增加如下一行:

extension=/application/php-7.1.33/lib/php/extensions/no-debug-non-zts-20160303/redis.so

保存退出。重启php-fpm服务即可。

redis服务安装,使用yum最方便

yum install redis

redis配置文件在/etc下,redis.conf

注意绑定IP,修改端口以及设置认证选项

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

win系统电脑在线打开sketch文件的方法

自Sketch诞生以来,只有Mac版本。Windows计算机如何在线打开Sketch文件? 即时设计已经解决了你遇到的大部分问题,不占用内存也是免费的。 您可以使用此软件直接在线打开Sketch文件,完整预览并导出CSS、SVG、PNG等,还具…

解析JSON格式数据

解析JSON格式数据 比起XML,JSON的体积更小,语义性更差 传入的JSON文件如下 使用JSONObject private fun parseJSONWithJSONObject(jsonData: String) { try { val jsonArray JSONArray(jsonData) for (i in 0 until jsonArray.length()){ val j…

视频去除水印怎么弄?这几个实用方法分享给大家!

在我们观看或分享视频时,可能会遇到一些带有水印的视频。这些水印可能会影响我们的观看体验,或者在我们需要使用这些视频时造成不便。下面,我将为你介绍三种去除视频水印的方法。 方法一:使用记灵在线工具 记灵在线工具是一个非…

Leetcode:684. 冗余连接(并查集C++)

目录 684. 冗余连接 题目描述: 实现代码与解析: 并查集 原理思路: 684. 冗余连接 题目描述: 树可以看成是一个连通且 无环 的 无向 图。 给定往一棵 n 个节点 (节点值 1~n) 的树中添加一条边后的图。添加的边的…

Python安装解释器

文章目录 一、下载Python解释器二. Linux环境的安装三. pycharm创建项目四、验证安装是否成功 一、下载Python解释器 首先,您需要从官方Python网站(https://python.org)下载Python解释器。Python的当前稳定版本是3.9.x系列。网站上提供了针对…

Anoym:一种以组合质押策略为特点的 LSD 设施

LSD(Liquid Staking Derivatives),即流动性质押衍生品,目前主要包括Lido、Frax等主要项目,它是伴随着ETH 2.0升级成长起来的DeFi衍生品赛道。ETH 2.0 以 POS 为共识机制,节点需要质押 32 ETH 才能参与网络维…

三分钟了解 RocketMQ消息队列

文章目录 基本概念详细介绍主题(Topic)消息类型(MessageType)消息队列(MessageQueue)消息(Message)消息视图(MessageView)消息标签(MessageTag&am…

【Linux后端服务器开发】Shell外壳

目录 一、Shell外壳概述 二、描述Shell外壳原理的生动例子 三、C语言模拟实现Shell外壳 一、Shell外壳概述 在狭义上 , 我们称Linux操作系统的内核为 Linux 在广义上 , Linux发行版 Linux内核 外壳程序 就比如市面上现在的redhat, centos, ubuntu等等我们耳熟能详的Linux发…

Apache Tomcat 信息泄露漏洞CVE-2023-28708处理

一、漏洞描述 Apache Tomcat软件是Jakarta Servlet、 Jakarta Server Pages、 Jakarta Expression Language、 Jakarta WebSocket、 Jakarta Annotations和 Jakarta Authentication 规范的开源实现 。Apache Tomcat实现了对Servlet和JavaServer Page(JSP&#xff09…

C++输出编译器名称和版本以及编译器位数、C/C++常见编译器

使用C输出编译器的名称、版本和位数 #include<iostream>int main() {#ifdef __clang__std::cout << "Compiler: Clang" << std::endl;std::cout << "Version: " << __clang_major__ << "." << __cla…

Anaconda配置可视化绘图库seaborn的方法

本文介绍在Anaconda的环境中&#xff0c;安装Python语言中&#xff0c;常用的一个绘图库seaborn模块的方法。 seaborn模块是基于Matplotlib的数据可视化库&#xff0c;它提供了一种更简单、更漂亮的界面来创建各种统计图形。seaborn模块主要用于数据探索、数据分析和数据可视化…

多线程与并发编程【守护线程、线程同步】(三)-全面详解(学习总结---从入门到深化)

目录 守护线程 什么是守护线程 守护线程的使用 线程同步 实现线程同步 线程同步的使用 守护线程 什么是守护线程 在Java中有两类线程&#xff1a; User Thread(用户线程)&#xff1a;就是应用程序里的自定义线程。 Daemon Thread(守护线程)&#xff1a;比如垃圾回收线程&am…

串口问题案例分享

最近在调试一个新板子的时候&#xff0c;发现一个问题&#xff0c;板子使用的是一个国产的处理器芯片&#xff0c;表现为如果板子232串口的发送和接收与电脑串口连接时&#xff0c;板子可以正常进入系统。 但是如果板子与电脑只接232串口的发送信号&#xff0c;不接232串口的接…

Java入门--字面量

字面量 字面量是指在代码中直接表示特定的常量或值&#xff0c;可以是整数&#xff0c;浮点数&#xff0c;布尔值&#xff0c;字符等 演示 整数和小数 System.out.println(666);//小数System.out.println(99.5);快捷写法&#xff1a;666.sout 加回车 字符 字符必须用单引号…

docker安装es集群(三台)

文章目录 1、防火墙设置&#xff0c;开启所需端口2、创建目录&#xff0c;并更改目录权限3 设置系统参数4 启动5 安装ik分词器6 配置7 安装elasticsearch-head&#xff08;用于访问es&#xff0c;界面化工具&#xff09;8、 修改es中每次返回的数据数量参数&#xff08;默认100…

剑指offer55-II.平衡二叉树

我这个方法比较笨&#xff0c;用的是用的是昨天写的求二叉树深度的方法&#xff0c;先定义dfs求二叉树深度的方法&#xff0c;再定义cur方法&#xff0c;比较左子树和右子树的深度&#xff0c;递归比较每一个子树的左子树和右子树的深度&#xff0c;一旦有一个不平衡就把flag改…

vue3使用Eharts案例

文章目录 安装Eharts代码演示最终效果 安装Eharts 官方快速上手地址 npm install echarts --save代码演示 <script setup> import {onMounted, ref} from "vue"; // import echarts from "echarts"; import * as echarts from echarts; const opt…

聊聊「画图」和工具

经常被问&#xff1a;图怎么画&#xff0c;用啥工具&#xff1f; 01 每次遇到这个问题&#xff0c;脑回路都有一丝丝欢乐的氛围&#xff1b; 并不是问题奇怪&#xff1b; 而是自己对于画图这件事上并不专业&#xff0c;就算是涉及工作上的制图&#xff0c;也没特地去看过任何…

交换机远程登录telnet、SSH、禁止非法用户访问实验

交换机远程登录实验 交换机远程登录实验一、配置Console口登录设备二、配置Telnet远程登录三、Stelnet&#xff08;SSH&#xff09;配置四、远程登录实际中的配置五、禁止非法用户远程登录 交换机远程登录实验 ———————————————————————————————…

解锁数字化转型利器:探秘常用低代码工具大揭秘!

随着数字化转型的深入推进&#xff0c;越来越多的企业开始采用低代码工具来加快应用程序的开发速度。在本文中&#xff0c;我们将介绍常用的低代码工具有哪些&#xff1f;以帮助企业了解并选择适合自己的工具。 1、Zoho Creator Zoho Creator是一款低代码开发平台&#xff0c;提…