博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS 7安装nginx+php+mysql环境
阅读量:5951 次
发布时间:2019-06-19

本文共 4820 字,大约阅读时间需要 16 分钟。

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源码

下载

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-calendarmakemake install 复制代码

5、为php提供配置文件

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

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

cd /usr/local/phpcp etc/php-fpm.conf.default etc/php-fpm.confvim etc/php-fpm.conf复制代码

修改以下内容

pm.max_children = 150pm.start_servers = 8pm.min_spare_servers = 5pm.max_spare_servers = 10pid = /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采用

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 makemake 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文件,输入如下内容

复制代码

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

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

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

0x03 mysql安装

1、下载安装包

下载

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

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

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

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

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

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

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

cd /usr/local/tar xvf mysql-5.7.12-linux-glibc2.5-x86_64.tarls -ltar xvfz mysql-5.7.12-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.12-linux-glibc2.5-x86_64 mysqlchown -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/bin    ln -s /apps/mysql/bin/mysqld /usr/local/mysql/bin/mysqld`复制代码

6、初始化数据库

cp -a ./support-files/my-default.cnf /etc/my.cnfcp -a ./support-files/mysql.server  /etc/init.d/mysqldcd 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 -pEnter 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/mysqlmakemake install复制代码

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

修改配置文件php.ini

打开并添加

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

重启php-fpm

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

你可能感兴趣的文章
转发网络《iOS网络编程与云端应用最佳实践》微博转发送书了
查看>>
车牌识别及验证码识别的一般思路
查看>>
hdu 3560(dfs判环)
查看>>
C/C++头文件一览
查看>>
HTML <img> 标签的 border 属性
查看>>
写一个方法,用一个for循环打印九九乘法表
查看>>
mooon编译系统介绍(可复用Makefile)
查看>>
《无间道》观后感
查看>>
ios 读取各种类型文件
查看>>
每日英语:Do Bicycle Helmet Laws Really Make Riders Safer?
查看>>
Spring Validation
查看>>
poj 3335 Rotating Scoreboard - 半平面交
查看>>
Python:Python学习总结
查看>>
uboot命令及内核启动参数
查看>>
查看后台服务器详细信息-linux/mac
查看>>
巴氏刷牙法_百度百科
查看>>
更新整理本人所有博文中提供的代码与工具(Java,2013.08)
查看>>
Ubuntu Manpage: ajaxterm - Web based terminal written in python
查看>>
前台获取信息进行跳转
查看>>
MyEclipse中使用Junit插件进行单元测试
查看>>