CentOS7安装MySQL8.0和Nginx
本文档包括使用 PHP-FPM 为 Nginx 1.4.x HTTP 服务器安装和配置 PHP 的说明和提示。
本指南假定您已经从源代码成功构建 Nginx,并且其二进制文件和配置文件都位于 /usr/local/nginx
。 如果您使用其他方式获取的 Nginx,请参考 » Nginx Wiki 并对照本文档完成安装。
本文档仅包含 Nginx 服务器的基本配置,它将通过 80 端口提供 PHP 应用的处理能力。 如果您需要超出本文档范围的安装配置指导,建议您查阅 Nginx 和 PHP-FPM 的文档。
需要注意的是,本文档一律使用 'x' 来表示版本号,请根据实际情况将 'x' 替换为对应的版本号。
建议您访问 Nginx Wiki » 安装 页面以获取并在您的系统上安装 Nginx。
获取并解压 PHP 源代码:
tar zxf php-x.x.x
配置并构建 PHP。在此步骤您可以使用很多选项自定义 PHP,例如启用某些扩展等。 运行 ./configure --help 命令来获得完整的可用选项清单。 在本示例中,我们仅进行包含 PHP-FPM 和 MySQL 支持的简单配置。
cd ../php-x.x.x ./configure --enable-fpm --with-mysql make sudo make install
创建配置文件,并将其复制到正确的位置。
cp php.ini-development /usr/local/php/php.ini cp /usr/local/etc/php-fpm.d/www.conf.default /usr/local/etc/php-fpm.d/www.conf cp sapi/fpm/php-fpm /usr/local/bin
需要着重提醒的是,如果文件不存在,则阻止 Nginx 将请求发送到后端的 PHP-FPM 模块, 以避免遭受恶意脚本注入的攻击。
将 php.ini 文件中的配置项 cgi.fix_pathinfo 设置为
0
。打开 php.ini:
vim /usr/local/php/php.ini
定位到
cgi.fix_pathinfo=
并将其修改为如下所示:cgi.fix_pathinfo=0
在启动服务之前,需要修改 php-fpm.conf 配置文件,确保 php-fpm 模块使用 www-data 用户和 www-data 用户组的身份运行。
vim /usr/local/etc/php-fpm.d/www.conf
找到以下内容并修改:
; Unix user/group of processes ; Note: The user is mandatory. If the group is not set, the default user's group ; will be used. user = www-data group = www-data
然后启动 php-fpm 服务:
/usr/local/bin/php-fpm
本文档未涵盖对 php-fpm 进行进一步配置的信息,如果您需要更多信息,请查阅相关文档。
配置 Nginx 使其支持 PHP 应用:
vim /usr/local/nginx/conf/nginx.conf
修改默认的 location 块,使其支持 .php 文件:
location / {root html;index index.php index.html index.htm; }
下一步配置来保证对于 .php 文件的请求将被传送到后端的 PHP-FPM 模块, 取消默认的 PHP 配置块的注释,并修改为下面的内容:
location ~* \.php$ {fastcgi_index index.php;fastcgi_pass 127.0.0.1:9000;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param SCRIPT_NAME $fastcgi_script_name; }
重启 Nginx。
sudo /usr/local/nginx/sbin/nginx -s stop sudo /usr/local/nginx/sbin/nginx
创建测试文件。
rm /usr/local/nginx/html/index.html echo "<?php phpinfo(); ?>" >> /usr/local/nginx/html/index.php
打开浏览器,访问 http://localhost,将会显示 phpinfo() 。
通过以上步骤的配置,Nginx 服务器现在可以以 SAPI
SAPI
模块的方式支持 PHP 应用了。 当然,对于 Nginx 和 PHP 的配置,还有很多可用的选项, 请在对应的源代码目录执行 ./configure --help 来查阅更多配置选项。
获取并安装 PEAR 包管理器
获取并安装 PEAR 包管理器
视窗
下载并安装 PHP 后,您必须手动执行位于例如 c:\php\go-pear.bat
. 或者, 使用浏览器下载 https://pear.php.net/go-pear.phar并将输出保存到名为go-pear.phar
. 然后你可以运行
<span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"> <strong><code>
php go-pear.phar</code></strong></span></span></span>
在 Windows 命令提示符下开始安装。
安装程序会询问您一些问题,然后 PEAR 包管理器将安装在您在安装过程中指定的路径中。
最后,您必须将该安装路径添加到您的 PATH
环境中。手动执行此操作(开始 > 控制面板 > 系统 > 环境)或运行(双击)PEAR_ENV.reg
现在在 PHP 源目录中找到的新生成的文件。
之后,您可以通过pear
在 Windows 命令提示符中运行命令来访问 PEAR 包管理器。
之后 改变
php.ini
,你将需要重新启动您的Web服务器。
现在检查 PEAR 是否有效。
Unix/Linux/BSD
使用 PHP 时,除非使用./configure
选项 ,否则已经安装了 PEAR 包管理器--without-pear
。
如果使用由 Unix/Linux/BSD 发行商提供的 PHP 版本,则可能需要手动安装 PEAR。在这种情况下,用户应查阅相应发行版的文档。
如果要重新安装包管理器,可以使用以下临时方式:
<span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"> <strong><code>
$ wget http://pear.php.net/go-pear.phar
$ php go-pear.phar</code></strong></span></span></span>
请注意,您可能需要通过 Unix/Linux/BSD 软件包管理器安装 wget 软件包。在 Debian 和 Ubuntu 上,这是通过以下方式完成的:
<span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"> <strong><code>$ sudo apt-get install wget</code></strong></span></span></span>
或者,通过浏览器下载 go-pear.phar 文件。
如果进程在没有任何输出的情况下退出,您的系统日志可能会包含以下几行:
<span style="color:#000000"><span style="background-color:#ffffff">suhosin[4705]:警报 - 包括文件名('phar://go-pear.phar/index.php')是不允许的 URL(攻击者“未设置 REMOTE_ADDR”,文件“/root/go-pear.phar”,第 1236 行)</span></span>
要解决此问题,请在
/etc/php5/conf.d/suhosin.ini
以下位置启用 phar :<span style="color:#000000"><span style="background-color:#ffffff">suhosin.executor.include.whitelist = phar</span></span>
现在检查 PEAR 是否有效。
Mac OS X
使用如下所示的 curl 下载 go-pear.phar 文件或通过浏览器下载 go-pear.phar 文件。
<span style="color:#000000"><span style="background-color:#ffffff"><span style="background-color:#eeeeee"> <strong><code>
$ curl -O https://pear.php.net/go-pear.phar
$ php -d detect_unicode=0 go-pear.phar</code></strong></span></span></span>
您现在已准备好配置 PEAR 以进行安装。
首先,您需要更改安装基础。
所以输入 1,然后按 Enter。
输入 /usr/local/pear
按 Enter。
然后,您将需要更改 Binaries 目录。
键入 4,然后按 Enter。
输入 /usr/local/bin
按 Enter。
更改安装基础和二进制目录后,按 Enter 安装 PEAR。
对于系统范围的安装,您需要以增加的权限执行 go-pear 脚本。这仅推荐给高级用户。
<span style="color:#000000"><span style="background-color:#ffffff"> <strong><code> $ curl -O https://pear.php.net/go-pear.phar $ sudo php -d detect_unicode=0 go-pear.phar</code></strong></span></span>
现在检查 PEAR 是否有效。
托管环境中的 PEAR
如果您在无法直接访问服务器(通过本地登录、Telnet 或 SSH)的网络托管服务提供商处运行您的站点,您可以通过 Web 前端或(S)FTP使用 PEAR 安装程序 。
转到go-pear并另存为 go-pear.php
. 复制go-pear.php
到您的服务器并在浏览器中打开相应的 URL,例如http://example.com/pear/go-pear.php
。
如果您在安装前还没有这样做,请不要忘记保护 pear 目录:使其不可读且不可从外部执行(即,将其放在外部
public_html
)。
现在检查 PEAR 是否有效。
安装 pdo_mysql 扩展
could not find driver
错误显示为PDO没找到这个,tp5是用PDO连接数据库的,连接不上,那就安装呗
第一步:
在php的解压出来安装包里,一般进入到/usr/local/src/etc/pdo_mysql里。假设你的php是安装在/usr/local/php里的。执行/usr/local/php/bin/phpize
如果出现图上的红框,安装两个东西
安装完成后应该OK了
继续执行./configure –with-php-config=/usr/local/php/bin/php-config –with-pdo-mysql=/usr/local/mysql/ 第二个为mysql安装路径
执行完成,make编译一下,没问题继续make install
完成,会生成一个文件夹,里面有pdo_mysql.so这就是我们要的东西。
打印phpinfo()看一下extension_dir路径,有没有指向上面的路径
如果没有,打开php.ini修改,php.ini路径在这个页面上面
这里应该不用写绝对路径,但我还是谢了,确保这个路径下有pdo_mysql.so
忘了上面安装完可以运行看下/usr/local/php/bin/php -m有没有安装成功
Nice,之前我一安装到这里一直重启nginx好几次,还是没开启,原来php也要重启
关闭PHP
killall php-fpm
php重启
/usr/local/php/sbin/php-fpm &
关闭nginx
/usr/local/nginx/sbin/nginx -s stop //关闭服务器
开启nginx
/usr/local/nginx/sbin/nginx 开启服务器
重启nginx
/usr/local/nginx/sbin/nginx -s reload
OK,开启了,tp5也能正常访问了
如果src目录里面没有php安装包
直接下载pdo_mysql拓展源码包。下载页面在这里:http://pecl.php.net/package/PDO_MYSQL,可以先下载了然后用FTP传到服务器。
我是在复制了下载地址以后使用wget直接下载到服务器端的。
在/usr/local/src目录执行
wget http://pecl.php.net/get/PDO_MYSQL-1.0.2.tgz
然后解压
tar -zxvf PDO_MYSQL-1.0.2.tgz
进入解压后的目录,然后执行phpize,后面方法同上
这里放上一个测试pdo与的mysqli的demo
$pdo_startTime = microtime(true);
for($i=1;$i<=100;$i++){
$pdo = new PDO("mysql:host=locahost;dbname=xf","root","root");
}
$pdo_endTime = microtime(true);
$pdo_time = $pdo_endTime - $pdo_startTime;
echo $pdo_time;
echo "<hr/>";
//通过mysql链接数据库
$mysqli_startTime = microtime(true);
for($i=1;$i<=100;$i++){
mysqli_connect("host","username","123","xf");
}
$mysqli_endTime = microtime(true);
$mysqli_time = $mysqli_endTime - $mysqli_startTime;
echo $mysqli_time;
echo "<hr/>";
if($pdo_time > $mysqli_time){
echo "pdo的连接时间是mysqli的".round($pdo_time/$mysqli_time)."倍";
}else{
echo "mysqli的连接时间是pdo的".round($mysqli_time/$pdo_time)."倍";
}
————————————————
版权声明:本文为CSDN博主「机电爱迪生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42161963/article/details/80536283
之前讲配置文件和权限的时候有很多MySQL8的知识,有同志说安装不太一样,希望发个文,我这边简单演示一下
1.环境安装
下载MySQL提供的CentOS7的yum源
官方文档:<https://dev.mysql.com/doc/refman/8.0/en/>
过程中有不太懂的可以看我之前写的这篇文章:<http://www.cnblogs.com/dotnetcrazy/p/9887708.html>
地址:https://dev.mysql.com/downloads/repo/yum/
CentOS命令:curl https://repo.mysql.com//mysql80-community-release-el7-3.noarch.rpm > centos7.mysql.rpm 下载yum源(curl是系统自带的)
安装yum源:yum install centos7.mysql.rpm -y
安装MySQL8.0 yum install mysql-community-server -y
启动mysql systemctl start mysqld
设置开机启动mysql systemctl enable mysqld
2.初始化配置
查看初始密码 cat /var/log/mysqld.log | grep "password"
安全初始化 mysql_secure_installation
3.权限设置
权限相关详细可以查看上次写的文章:聊聊数据库:SQL运维~存储引擎与权限
用root账号登录 mysql -uroot -p
创建用户dnt create user dnt@'%' identified by '含大小写字母+数字的密码';
查看当前有哪些用户 select user,authentication_string,host from mysql.user;
给用户dnt分配数据库dotnetcrazy的所有权限 grant all on dotnetcrazy.* to dnt;
刷新权限 flush privileges;
显示新用户有哪些权限 show grants for dnt;
4.配置相关
这块我就说下开远程的配置,其他的可以查看之前写的文章:<https://www.cnblogs.com/dotnetcrazy/p/10810798.html>
root权限去修改 /etc/my.cnf
在[mysqld]选项下新增:bind-address=0.0.0.0
开放3306端口的远程访问权限:firewall-cmd --zone=public --add-port=3306/tcp --permanent
刷新防火墙规则 firewall-cmd --reload
重启MySQL:systemctl restart mysqld
测试
Shell附录
1.安装附录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 |
|
2.初始化配置附录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
|
3.权限附录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
|
4.配置附录
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 |
|
CentOS7安装MySQL8.0和Nginx相关推荐
- centos7安装Mysql8.0步骤
CentOS7安装mysql8.0步骤 1.1 安装前清理工作: 1.1.1 清理原有的mysql数据库: 使用以下命令查找出安装的mysql软件包和依赖包: rpm -pa | grep mysql ...
- Centos7 安装mysql8.0.21 Compressed TAR Archive版
Centos7 安装mysql8.0.21 Compressed TAR Archive版 一.官网下载安装包https://downloads.mysql.com/archives/communit ...
- CentOS7安装MySQL8.0图文教程
1.下载 MySQL 所需要的安装包 网址:https://dev.mysql.com/downloads/mysql/ 2.Select Operating System: 选择 Red Hat , ...
- centos7安装mysql8.0.31版本
目录 1. 卸载mariadb 2. 下载 3. 安装 4. 修改/etc/my.cnf 5. 启动 6. 修改密码 1. 卸载mariadb 因centos7默认安装了mariadb, 会造成依赖冲 ...
- centos7安装mysql8.0简书_CentOS7安装MySQL8.0图文教程
1.下载 MySQL 所需要的安装包 网址:https://dev.mysql.com/downloads/mysql/ 2.Select Operating System: 选择 Red Hat , ...
- centos7 安装mysql8.0超详细步骤
一.进入安装目录 将账户切换到root账户下,进入local目录下 cd /usr/local 若当前目录下没有mysql,则新建一个mysql的目录,用于存放wget下载的rpm包. 切换到mysq ...
- CentOS7安装MySQL8.0
一.配置yum源 1.下载mysql源安装包 wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch ...
- centos7安装mysql8.0简书_【Linux实战03】CentOS 7 下 MySQL 8.0 的安装
一.安装前准备 1.查看当前服务器的发行版本号 2.查看当前服务器的内核版本 3.查看当前服务器的操作系统位数 ----温馨提示---- 为什么先做如上三个操作呢? 多数同学,部署各类软件不成功的原因 ...
- centos7安装MySql8.0.29教程
个人名片: 对人间的热爱与歌颂,可抵岁月冗长
最新文章
- oracle10g索引不生效,oracle 10g分区表索引失效测试
- java --级联操作(查询/更新)
- 高速串行总线设计基础(四)眼图的形成原理
- 电脑如何下载python3-python3可以在哪里下载
- axios 请求的配置选项
- python 生成随机数_python 生成随机数模块random 常用方法总结
- php+错误+处理,PHP 错误处理手记!!!!!
- Deep Learning 【Nature review】
- python如果选择不在列表里_使用python中的in ,not in来检查元素是不是在列表中的方法...
- Cloudflare通过UnstoppableDomains添加对“.crypto”域名的支持
- 关于CVE-2020-14882,你需要知道的都在这里
- 针对binlog MIXED格式对表的增删改统计分析
- mysql语句中的注释方法_MySQL语句注释方式简介
- pytorch源码解析1——torch.optim:优化算法接口详解
- 百度php获取当前经纬度,百度地图获取经纬度的示例
- 强化学习读书笔记(一)
- RN:App版本更新提示方案
- 文本转语音TTS(文本阅读和视频配音制作)MP3
- centos8安装RabbitMQ和erlang
- windows中WinRAR命令行参数