安装PHP&PHP-FPM

首先更新一下CentOS7系统,对系统软件做一下升级,这里不升级内核。

//使用root权限,注意这里使用upgrade,而不是update(它会升级内核,这里我们不需要)
yum upgrade

我需安装最新的PHP,默认源安装的PHP版本是5.4左右,差不多已经过时了,这里先安装新的源。

//安装源
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm //安装PHP和PHP-FPM
yum install php71w php71w-cli php71w-fpm
//安装相关扩展
yum install php71w-mbstring php71w-common
yum install php71w-gd php71w-mcrypt
yum install php71w-mysql php71w-xml
yum install php71w-soap php71w-xmlrpc

安装Nginx

Nginx是当下流行Web服务器软件,需要用它提供Web服务配置站点等。可选的还有Apache、Lighttpd等。

//安装nginx
yum install nginx
//启动nginx
systemctl start nginx
//使用systemctl设置开机启动
systemctl enable nginx

根据之前设置的网络,可以直接在Mac浏览器里面访问http://192.168.56.101:80看nginx是否已经启动。我发现并不能访问成功,这里是CentOS7的防火墙导致的,打开80端口

firewall-cmd --permanent --zone=public --add-service=http
firewall-cmd --reload

重试,显示nginx欢迎页面,Nginx设置成功。

安装MySQL

MySQL是关系型数据库软件,用来存储数据。安装MySQL只需要简单的指令,最新版本是5.7所以先安装最新的源。

//安装MySQL源
yum install https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm //安装MySQL
yum install mysql-community-server //启动MySQL
systemctl start mysqld
//设置开机启动
systemctl enable mysqld //找到随机生成的密码
grep 'temporary password' /var/log/mysqld.log
//登录mysql(需要上面的密码)
mysql -uroot -p'xxxx'
//更改密码,密码要求大写字母、小写字母以及数字和特殊符号
alter user 'root'@'localhost' identified by 'Qw.123456';

MySQL安装完成。

如果登陆碰到以下问题:

ERROR 1045(28000): Access denied for user 'root'@'localhost' (using password: NO)

请修改my.cnf,添加skip-grant-tables和skip-networking:

shell > vi /etc/my.cnf

[mysqld]

skip-grant-tables

skip-networking

重启mysql,然后重复以上修改密码步骤即可,记得修改完后,去掉my.cnf添加的两行。

设置Nginx和PHP-FPM

我已经安装好需要程序,要想PHP请求被Nginx接收并转交给PHP-FPM再由PHP解释器执行返回结果,还需要做一些配置。

//启动PHP-FPM
systemctl start php-fpm
//设置开机启动
systemctl enable php-fpm

配置nginx站点(test.com为你的域名):

vi /etc/nginx/conf.d/test.com.conf
//写入以下内容
server {
listen ;
server_name test.com;
root /usr/share/nginx/html;
index index.php index.html; location / {
try_files $uri $uri/ /index.php?$query_string;
} location ~ \.php$ {
fastcgi_pass 127.0.0.1:;
fastcgi_index index.php;
include fastcgi.conf;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
} //重启Nginx
systemctl restart nginx //在/usr/share/nginx/html增加phpinfo.php文件写入以下内容
<?php phpinfo();

打开Mac的浏览器输入http://test.com/phpinfo.php就可以看到PHP的信息了。如果报403,说明没有权限,试着设置文件路径的权限chmod 777 -R/usr/share/nginx/html.

如果设置之后还报File not found,那可能是SELinux限制了访问,修改相关配置关闭SELinux。

vi /etc/sysconfig/selinux
SELINUX=disabled
//重启系统
reboot

刷新浏览器,PHP信息的页面正常展示。 到此PHP环境就搭建OK了。

参考:CentOS 7 安装PHP开发环境

最新文章

  1. ***Linux下使用git命令及github项目
  2. 分享50款 Android 移动应用程序图标【上篇】
  3. TruSeq 应该指的是试剂盒名字 NEB
  4. python(8) 自己制造异常让程序退出,把print的内容写入到文件
  5. 【英语】Bingo口语笔记(35) - 常见单词结尾发音
  6. RBAC(Role-Based Access Control,基于角色的访问控制)
  7. linux shell中的 #!/bin/bash
  8. 关于SQL Server 数据库的备份
  9. VB.NET 初涉线程的定义和调用
  10. hdu 5637 Transform 最短路
  11. 半小时C语言题目
  12. Sharepoint 2013搜索服务配置总结(实战)
  13. webpack4 学习 --- 处理静态资源
  14. 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
  15. Python通过pip方式安装第三方模块的两种方式
  16. 关于Unity中摇杆的操作
  17. 20170725 Python 必须使用的Url编码
  18. 延时显示(类QQ头像显示)
  19. Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
  20. WPF之Manipulation

热门文章

  1. 关于Assert
  2. Windows 64下elasticsearch-1.7.1集群 安装、启动、停止
  3. Firefox浏览器浏览自己做的网站需要输入用户名和密码解决
  4. 8086汇编语言 调用声卡播放wav文件(sound blaster)
  5. (补漏)Springboot2.0 集成shiro权限管理
  6. 洛谷P1273 有线电视网 (树上分组背包)
  7. 通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
  8. Sencha touch中Ext.List的使用及高度自适应
  9. Visual Studio Code 配置C/C++环境
  10. 51nod加农炮