Centos 7 + nginx + php5 + mysql 配置安装过程

 

环境:Centos 7 + nginx + php5 + mysql

一、虚拟机安装

vmware fusion + centos7 64 位镜像

二、nginx安装

安装nginx前需要安装以下4个组件:

gcc:用于nginx源码编译 

pcre-devel:nginx使用pcre来解析正则表达式,pcre-devel是基于pcre的二次开发库

zlib:nginx使用其对http包进行压缩解压缩 

openssl:支持https协议

1.安装gcc

切换到root执行命令:

yum install gcc-c++

2.安装pcre-devel

执行命令:

 yum install -y pcre pcre-devel

3.安装zlib

执行命令:

yum install -y zlib zlib-devel

4.安装openssl

执行命令:

yum install -y openssl openssl-devel

 

 

5.安装nginx

从官网下载安装文件:https://nginx.org/en/download.html

 

下载后依次执行以下命令

tar -zxvf soft/nginx-1.16.0.tar.gz
cd nginx-1.16.0/
./configure
make
make install

安装过程中没有出现错误,如果缺少了上面的组件在./configure时将会提示
安装成功

启动nginx ,执行以下命令:

./nginx  

 


默认端口为80

修改一下默认的根目录
找到配置文件:/usr/local/nginx/conf/nginx.conf
修改下面二处位置

 

三、php-fpm

安装执行命令:yum install -y php-fpm 默认安装的是php5版本

启动php-fpm:systemctl start php-fpm

加入开机启动: systemctl enable php-fpm

修改nginx配置文件,修改下面这行,将php路径添加上,否则nginx不会解析php

fastcgi_param SCRIPT_FILENAME /home/html$fastcgi_script_name;

四、mysql安装

1.下载mysql源安装包
wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
2.安装mysql源
yum localinstall mysql57-community-release-el7-8.noarch.rpm
 
3.检查源是否安装成功
yum repolist enabled | grep "mysql.*-community.*"

 

 
4.安装mysql
yum install mysql-community-server
 

 

5.启动服务
systemctl start mysqld
 6.设置开机启动
systemctl enable mysqldsystemctl daemon-reload
7.修改root本地密码

查看mysql密码
grep 'temporary password' /var/log/mysqld.log

 

修改密码[注意:后面的分号一定要跟上]
ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
或者:

set password for 'root'@'localhost'=password('MyNewPass4!');
show variables like '%password%';
 

五、测试php连接mysql

1.遇到的坑1:mysql_connect无法使用
<?php
    $link=mysql_connect('localhost','root','Admin123.');
    if(!$link) echo '<p>failed.</p>';
    else echo '<p>successed.</p>';
    mysql_close();
?>
 

用以上代码测试连接,却出现500了

 

原因是mysql_connect在php5.4以后被移除,换成mysqli连接就好了
换成以下代码连接:

<h1>Connect to mysql:</h1>
<?php
$servername = "localhost";
$username = "root";
$password = "admin123.";
$conn = new mysqli($servername, $username, $password);
if ($conn->connect_error) {
    die("error: " . $conn->connect_error);
}
echo "Success";
?>
 

 

2.遇到的坑2:File not found

php-fpm默认安装时未安装mysqli扩展,导致连不上数据库,此时安装就行了,检查phpinfo信息中是否存在mysqli扩展。
但是安好了,又一个问题出现了,访问php文件出现:File not found. 错误。
检查浏览器返回404。
查询后原来是php-fpm权限与nginx不同导致,修改下面的文件

将nobody修改为root即可解决。

 

 

 

参考: centos7+nginx安装 

https://www.cnblogs.com/wangzhongqiu/p/6527346.html

https://www.cnblogs.com/liujuncm5/p/6713784.htmlmysql 

https://www.cnblogs.com/caoxb/p/9405323.html

 

posted @ 2019-07-26 14:20  reuodut  阅读(135)  评论(0编辑  收藏  举报