0x01 安装php

1、首先得安装第三方软件库

yum install epel-release
复制代码

2、安装依赖包

yum install gcc gcc-c++ glibc libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel
复制代码

3、下载php源码

下载 php-5.6.30.tar.gz

4、编译&安装

./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt --enable-mbstring --enable-pdo --with-curl --disable-debug  --disable-rpath --enable-inline-optimization --with-bz2  --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir --with-freetype-dir --enable-calendar
make
make install
复制代码

5、为php提供配置文件

cp php.ini-production /usr/local/php/lib/php.ini
复制代码

6、为php-fpm提供配置文件

cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
vim etc/php-fpm.conf
复制代码

修改以下内容

pm.max_children = 150
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 10
pid = /usr/local/php/var/run/php-fpm.pid
复制代码

7、启动php-fpm

执行以下命令:

/usr/local/php/sbin/php-fpm
复制代码

使用如下命令来验证(如果此命令输出有中几个php-fpm进程就说明启动成功了):

ps aux | grep php-fpm
复制代码

0x02 安装nginx

1、安装依赖包

yum install gcc automake autoconf libtool make gcc-c++ readline readline-devel pcre pcre-devel opemssl openssl-devel zlib zlib-devel
复制代码

2、下载源码

为利于后期开发,nginx采用 openresty

3、编译&安装

./configure --prefix=/usr/local/openresty/nginx --sbin-path=/usr/local/openresty/nginx/sbin/nginx --conf-path=/usr/local/openresty/nginx/nginx.conf --pid-path=/usr/local/openresty/nginx/nginx.pid --with-http_ssl_module --with-http_flv_module --with-http_mp4_module  --with-http_stub_status_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client/ --http-proxy-temp-path=/var/tmp/nginx/proxy/ --http-fastcgi-temp-path=/var/tmp/nginx/fcgi/ --http-uwsgi-temp-path=/var/tmp/nginx/uwsgi --http-scgi-temp-path=/var/tmp/nginx/scgi
make
make install
复制代码

4、nginx和php-fpm整合

编辑文件/usr/local/openresty/nginx/nginx.conf,以下内容的“#”号去掉,结果如下:

log_format  main  '$remote_addr - $remote_user [$time_local] "$request"''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  logs/access.log  main;location / {root   html;index  index.html index.htm;}location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_index  index.php;#fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#include        fastcgi_params;include        fastcgi.conf;}
复制代码

重新载入nginx的配置文件

/usr/local/openresty/nginx/sbin/nginx -s reload
复制代码

5、测试php文件

/usr/local/openresty/nginx/html下创建index.php文件,输入如下内容

<?phpphpinfo();
?>
复制代码

浏览器访问http://你的服务器ip/index.php,即可以见到php信息了。

非本机访问需要开启防火墙策略

firewall-cmd --zone=public --add-port=80/tcp --permanent  (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --reload
复制代码

0x03 mysql安装

1、下载安装包

下载 mysql-5.7.16-linux-glibc2.5-x86_64.tar

2、检查库文件是否存在,如有删除。

rpm -qa | grep mysql
mysql-libs-5.1.52-1.el6_0.1.x86_64
rpm -e mysql-libs-5.1.52.x86_64 --nodeps
复制代码

3、检查mysql组和用户是否存在,如无创建。

cat /etc/group | grep mysql
mysql:x:490:
cat /etc/passwd | grep mysql
mysql:x:496:490::/home/mysql:/bin/bash
复制代码

以上为默认存在的情况,如无,执行添加命令:

groupadd mysql
useradd -r -g mysql mysql       //useradd -r参数表示mysql用户是系统用户,不可用于登录系统。
复制代码

4、解压TAR包,更改所属的组和用户

cd /usr/local/
tar xvf mysql-5.7.12-linux-glibc2.5-x86_64.tar
ls -l
tar xvfz mysql-5.7.12-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.12-linux-glibc2.5-x86_64 mysql
chown -R mysql mysql/
chgrp -R mysql mysql/
cd mysql/
复制代码

5、安装数据库

bin/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
复制代码

如果改变默认安装路径,则需要

1、/etc/my.cnf、/etc/init.d/mysqld中修改basedir='/apps/mysql'datadir='/apps/mysql/data'
2、创建ln mkdir -p /usr/local/mysql/binln -s /apps/mysql/bin/mysqld /usr/local/mysql/bin/mysqld`
复制代码

6、初始化数据库

cp -a ./support-files/my-default.cnf /etc/my.cnf
cp -a ./support-files/mysql.server  /etc/init.d/mysqld
cd bin/
./mysqld_safe --user=mysql &/etc/init.d/mysqld restart
复制代码

7、设置开机启动

chkconfig --level 35 mysqld on
复制代码

8、初始化密码

mysql5.7会生成一个初始化密码,而在之前的版本首次登陆不需要登录。

cat /root/.mysql_secret
./mysql -uroot -p
Enter password:
mysql> SET PASSWORD = PASSWORD('********');
mysql> flush privileges;//重启生效
/etc/init.d/mysqld restart
复制代码

0x04 添加PDO扩展

一些漏洞环境(dvwa)数据库连接改用pdo,如未安装,可在此进行安装。

在PHP源码包中进入ext/pdo_mysql,按以下步骤执行。

/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql
make
make install
复制代码

注: 我的PHP安装在:/usr/local/php/,mysql安装在:/usr/local/mysql,编译的时候注意你自己的安装目录在哪里。

修改配置文件php.ini

打开并添加

extension=pdo_mysql.so
extension=pdo.so
复制代码

重启php-fpm

转载于:https://juejin.im/post/5c4fea8bf265da61223ab656

CentOS 7安装nginx+php+mysql环境相关推荐

  1. Windows下安装Nginx+php+mysql环境

    系统:Windows 7 64位系统 安装之前,首先下载软件: Nginx: http://nginx.org/en/download.html PHP Stable PHP 5.6.26: http ...

  2. linux nginx编译安装mysql_Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  3. 【经验】CentOS 5.2 下用Yum安装Apache+PHP+MySQL环境

    CentOS 5.2 下用Yum安装Apache+PHP+MySQL环境 Fedora 8下用Yum安装Apache+PHP+MySQL环境 fedora8 用yum来管理安装Apache+PHP+M ...

  4. centos7二进制安装php,Centos7下编译安装配置Nginx+PHP+MySql环境

    序言 这次玩次狠得.除了编译器使用yum安装,其他全部手动编译.哼~ 看似就Nginx.PHP.MySql三个东东,但是它们太尼玛依赖别人了. 没办法,想用它们就得老老实实给它们提供想要的东西. 首先 ...

  5. linux slf4j.rpm,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  6. Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践

    本文给大家分享的是作者基于Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress的详细过程,非常的全面,有需要的小伙伴可以参考下 Docker基于LXC实现了把软件封装到一个完 ...

  7. linux nginx rpm 安装配置,Centos下安装nginx rpm包

    1 在nginx官方网站下载一个rpm包,下载地址是:http://nginx.org/en/download.html wget http://nginx.org/packages/centos/6 ...

  8. centos 多个mysql,Centos中安装多个MySQL数据的配置实例

    这篇文章主要为大家详细介绍了Centos中安装多个MySQL数据的配置实例,具有一定的参考价值,可以用来参考一下. 感兴趣的小伙伴,下面一起跟随512笔记的小编小韵来看看吧! 注:本文档做了两个MYS ...

  9. ubuntu 14.04 nginx php mysql_Ubuntu 14.04安装Nginx+PHP+MySQL

    基于Ubuntu 14.04搭建Nginx+PHP+MySQL环境,以下全部命令行操作: 1,由于需要大量的权限操作,方便起见临时提升权限,使用root账号 sudo su 2,安装apt源管理工具. ...

最新文章

  1. 基于mysql传统复制模式转为GTID模式 mysql 5.7版本
  2. 2021年春季学期教学记录
  3. av_interleaved_write_frame -22
  4. 删除文件及文件夹命令
  5. 【PTA天梯赛CCCC -2017决赛L1-6 】整除光棍 (20 分)(大数模拟除法)
  6. Linux查看文件的首个字母 文件属性字段
  7. All in Linux:一个算法工程师的IDE断奶之路
  8. Nacos配置中心规范
  9. gevent开发http服务器与tcp服务器(WSGIServer、StreamServer)
  10. vue 图片复制黏贴上传_# quill-image-extend-module :完成vue-quill-editor图片上传,复制粘贴,拖拽...
  11. 【运筹学】产销平衡问题的表上作业法
  12. python的前端和后端_python是前端还是后端
  13. C语言程序书写中 每行必须有分号,C语言课后习题答案
  14. 基于HAL库的STM32F704的电阻式触摸屏的学习
  15. hive hue 中文乱码的问题
  16. cadence软件安装教程
  17. 未明学院:保姆级四大par面面经和准备方法
  18. 学历有点低,怎么破?
  19. 用scratch编写游戏“小蝌蚪成长”中使背景大于480*360
  20. vscode 安装matplotlib

热门文章

  1. java文件拷贝_Java实现文件拷贝的4种方法
  2. 数据库---表的操作
  3. 重学前端学习笔记(八)--JavaScript中的原型和类
  4. Debian Security Advisory(Debian安全报告) DSA-4411-1 firefox-esr security update
  5. 扩展方法必须在非泛型静态类中定义
  6. Codeigniter 3 拓展HMVC
  7. iOS 7 如何关闭已打开的应用(App)
  8. 一款不错的网站压力测试工具webbench
  9. icewm使用心得[转]
  10. 分布式锁的几种实现原理