CentOS 7 安装PHP7+Nginx+Mysql5.7开发环境
安装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了。
最新文章
- ***Linux下使用git命令及github项目
- 分享50款 Android 移动应用程序图标【上篇】
- TruSeq 应该指的是试剂盒名字 NEB
- python(8) 自己制造异常让程序退出,把print的内容写入到文件
- 【英语】Bingo口语笔记(35) - 常见单词结尾发音
- RBAC(Role-Based Access Control,基于角色的访问控制)
- linux shell中的 #!/bin/bash
- 关于SQL Server 数据库的备份
- VB.NET 初涉线程的定义和调用
- hdu 5637 Transform 最短路
- 半小时C语言题目
- Sharepoint 2013搜索服务配置总结(实战)
- webpack4 学习 --- 处理静态资源
- 最新阿里云服务器免费SSL证书配置HTTPS的两种方法(图文教程二)
- Python通过pip方式安装第三方模块的两种方式
- 关于Unity中摇杆的操作
- 20170725 Python 必须使用的Url编码
- 延时显示(类QQ头像显示)
- Elasticsearch的数据导出和导入操作(elasticdump工具),以及删除指定type的数据(delete-by-query插件)
- WPF之Manipulation
热门文章
- 关于Assert
- Windows 64下elasticsearch-1.7.1集群 安装、启动、停止
- Firefox浏览器浏览自己做的网站需要输入用户名和密码解决
- 8086汇编语言 调用声卡播放wav文件(sound blaster)
- (补漏)Springboot2.0 集成shiro权限管理
- 洛谷P1273 有线电视网 (树上分组背包)
- 通过设置nginx的client_max_body_size解决nginx+php上传大文件的问题
- Sencha touch中Ext.List的使用及高度自适应
- Visual Studio Code 配置C/C++环境
- 51nod加农炮