PHP7.1-CentOS-Apache2.4-MySQL5.6-7下源码编译配置 (php7.1 php8 sqlsrv 502)

教程大全 2025-07-12 22:20:15 浏览

详细讲述在CentOS 7下源码编译配置 Apache2.4+MySQL5.6+PHP7.1的过程。

1:安装mysql:

这里选用mysql5.6版本,5.7版本编译时间需要几个小时。

编译安装环境:

yum -y installMake gcc-c++ cmake bison-devel ncurses-devel gcc\autoconf automake zlib* fiex* libxml* libmcrypt* libtool-ltdl-devel*

下载mysql5.6

wgetmysql-5.6.16.tar.gzcd mysql-5.6.16

编译源码:

新建下目录:

mkdir /usr/local/mysqlmkdir /data/mysql/data

配置一些信息:

cmake \-DCMAKE_INSTALL_PREFIX=/usr/local/mysql\-DMYSQL_DATADIR=/data/mysql/data\-DSYSCONFDIR=/etc\-DWITH_MYISAM_STORAGE_ENGINE=1 \-DWITH_INNOBASE_STORAGE_ENGINE=1 \-DWITH_MEMORY_STORAGE_ENGINE=1 \-DWITH_READLINE=1 \-DMYSQL_UNIX_ADDR=/tmp/mysql/mysql.sock \-DMYSQL_TCP_PORT=3306 \-DENABLED_LOCAL_INFILE=1 \-DWITH_PARTITION_STORAGE_ENGINE=1 \-DEXTRA_CHARSETS=all \-DDEFAULT_CHARSET=utf8 \-DDEFAULT_COLLATION=utf8_general_ci

看到最后输出:Build files have been written to:xxxxxxx证明编译成功

编译源码:

make && make install(备注:编译时间比较慢,耐心等待…)

修改文件权限:

groupadd mysqluseradd -r -g mysql mysqlcd /usr/local/mysqlchown -R mysql:mysql .scripts/mysql_install_db –user=mysql –ldata=/data/mysql/datachown -R root .chown -R mysql>服务器,可以输入 /sbin/iptables -I input -p tcp –dport 80 -j ACCEPT(将此处的80改为自己的web服务器的端口号))

3:安装PHP7:

php-7.1.2.tar.gz:下载:wget

安装php:

#tar zxvf php-7.1.2.tar.gz#cd php-7.1.2#./configure –prefix=/usr/local/php7 \–with-apxs2=/usr/local/apache2/bin/apxs \–with-curl \–with-freetype-dir \–with-gd \–with-gettext \–with-iconv-dir \–with-kerberos \–with-libdir=lib64 \–with-libxml-dir \–with-mysqli \–with-openssl \–with-pcre-regex \–with-pdo-mysql \–with-pdo-sqlite \–with-pear \–with-png-dir \–with-xmlrpc \–with-xsl \–with-zlib \–enable-fpm \–enable-bcmath \–enable-libxml \–enable-inline-optimization \–enable-gd-native-ttf \–enable-mbregex \–enable-mbstring \–enable-opcache \–enable-pcntl \–enable-shmop \–enable-soap \–enable-sockets \–enable-sysvsem \–enable-xml \–enable-zip#make#make install

PHP7.1

最后到php的解压目录复制一下php的配置文件

#cp php.ini-development /usr/local/php/lib/php.ini

重启Apache服务,然后写一个简单的检测文件吧。

把PHP加入环境变量

#vim /etc/profile

在文件末尾加上如下两行代码

PATH=$PATH:/usr/local/php7/binexport PATH

然后执行命令 #source /etc/profile 或执行点命令 #./profile 使其修改生效,执行完可通过 #echo $PATH命令查看是否添加成功


centOS7安装mysql服务启动失败service mysqld start

1、InnoDB: Upgrade after a crash in not supported第一个错误说你升级启动mysql 5.7.18失败,redo log 被mysql5.7.9之前的版本创建。 删掉旧的文件,重新启动。 2、cannot add dependency job for unit stop firewalld之后试试iptables -nvL检查防火墙3、用这个命令可以检查mysqld配置systemctl status 是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于Oracle旗下产品。 MySQL 是最流行的关系型数据库管理系统之一,在 WEB 应用方面,MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件。 MySQL是一种关系数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。 MySQL所使用的 SQL 语言是用于访问数据库的最常用标准化语言。 MySQL 软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择 MySQL 作为网站数据库。 由于其社区版的性能卓越,搭配PHP和Apache可组成良好的开发环境。

再打开网页时会出现这个是什么意思啊?

这是“网关超时” 解决Nginx 504 Gateway Time-out的一些方法 在CentOS下配置lnmp组合基本上用的都是同样的配置文件,一直都没出现过问题,可最近在一个vps上安装同样的环境之后,网站在线10多人就出 现了打开速度非常缓慢的情况,有好几次都是直接达到了nginx中设置的脚本最大超时时间300秒,结果导致nginx往客户端浏览器发送了一个504 Gateway Time-out的错误代码,分析了之后改动了几处配置文件,终于避免了该情况的出现。 从错误代码基本可以确定跟nginx本身无关,主要是提交给php-fpm的请求未能正确反馈而导致,一般情况下,提交动态请求的时候,nginx会直接把 请求转交给php-fpm,而php-fpm再分配php-cgi进程来处理相关的请求,之后再依次返回,最后由nginx把结果反馈给客户端浏览器,但 我这个vps目前跑的是个纯php应用内容,实际上用户所有的请求都是php请求,有的耗费时间比较久,php-cgi进程就一直都被用满,而php- fpm本身的配置文件只打开了10组php-cgi进程,这样的话在线用户稍微多的话就会导致请求无法被正常处理而出错。 大概分析出了原 因,下面做就比较容易了,首先是更改php-fpm的几处配置: 把max_children由之前的10改为现在的30,这样就可以保证 有充足的php-cgi进程可以被使用; 把request_terminate_timeout由之前的0s改为60s,这样php-cgi进程 处理脚本的超时时间就是60秒,可以防止进程都被挂起,提高利用效率。 接着再更改nginx的几个配置项,减少FastCGI的请求次 数,尽量维持buffers不变: fastcgi_buffers由 4 64k 改为 2 256k; fastcgi_buffer_size 由 64k 改为 128K; fastcgi_busy_buffers_size 由 128K 改为 256K; fastcgi_temp_file_write_size 由 128K 改为 256K。 好了,重新加载php-fpm和nginx的配置,再次测试,至今两周时间内没有再出现504 Gateway Time-out的情况,算是达到效果了。 另外,php-fpm的默认静态处理方式会使得php-cgi的进程长期占用内存而无法释放,这也是导致nginx出错的原因之一,因此可以将php-fpm的处理方式改成apache模式。 apache-like 从更改完毕到现在的测试表明上述方式的效果还是很明显的,并没有发现一次Nginx502 bad gateway或504 Gateway Time-out错误。 当然,如果你的VPS或者服务器的性能足够好可以根据具体情况不必做无谓的改动。 本文来自CSDN博客,转载请标明出处:

怎样写shell脚本,定期执行删除centos5.6中Apache的log系统日志文件. 只保留最近2个?

linux系统中自动清除 Apache 的错误日志和访问日志,各自只保留一个,其实有个方法很简单可靠。1.打开 Apache 的 配置文件

2.建立Linux定时执行任务命令以 CentOS系统为例:输入这句看系统是否已经启动定时服务:/sbin/service crond status显示running,表示已启动。【没启动的按如下步骤:.........................................

意思是每天每隔2小时第3(10)分钟删除一次。 【用法补充参考 :/sbin/service crond start//启动服务/sbin/service crond stop //关闭服务/sbin/service crond restart//重启服务/sbin/service crond reload//重新载入配置/sbin/service crond status//查看服务状态查看crontab定时执行任务列表crontab -l删除crontab定时执行任务列表crontab -r时程表的格式如下 : f1 f2 f3 f4 f5 program 其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。 program 表示要执行的程式每个* 时表示全部。 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行。 每个 */n 时表示每 n 分钟个时间间隔执行一次每个 a, b, c,... 时表示第 a, b, c,... 分钟要执行。 第1分钟用01-59表示

详细参考:传娱网:

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐