安装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 80; 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:9000; 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了。