因为CSDN复制可能带版权信息,所以先复制到编辑器里,再粘贴到系统上执行。
一、yum第三方库
yum安装很方便,但是yum官方库php只有5.4版本,没有nginx,很麻烦,使用镜像。
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
二、PHP7.2
yum -y install gcc gcc-c++ php72w.x86_64 php72w-cli.x86_64 php72w-common.x86_64 php72w-gd.x86_64 php72w-ldap.x86_64 php72w-mbstring.x86_64 php72w-mcrypt.x86_64 php72w-mysql.x86_64 php72w-pdo.x86_64 php72w-devel php72w-pear | 安装php,附带安装了编译环境 |
php -v | 查看版本 |
php -m | 查看扩展 |
三、Nginx
1. 安装nginx
yum -y install nginx | 安装 |
nginx | 启动 |
nginx -t | 检查配置是否正确 |
nginx -s reload | 加载最新配置 |
nginx -s stop | 立即停止 |
nginx -s quit | 优雅停止 |
2.开启防火墙
安装成功后需要防火墙开启80端口才可以在浏览器通过ip访问浏览器输入ip,显示nginx的。
3.安装php-fpm服务
yum -y install php72w-fpm | 安装 |
systemctl start php-fpm | 启动 |
systemctl enable php-fpm | 开机启动 |
4.修改nginx配置
主要是添加解析php和设置默认目录,注意更改配置后nginx -s reload加载一下。
http{
#选择性添加,显示目录
autoindex on;
server{
#修改默认目录(自己要在var下创建一个www,另外这里修改成/root/www为什么有问题?)
root /var/www;
#解析php,不添加此配置访问php会直接下载,配置不对php可访问但显示空白。
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
}
做完这些,就在/var/www下创建一个test.php,随便echo一下,用ip访问测试吧...
5.遇到的问题
不能IP访问 | 防火墙端口未开启 |
nginx error | 未开启php-fpm服务(这里最好设置成开机启动,不然重启会忘的) |
403 | 默认目录问题 |
忘了具体情况,以前遇见过 | 关闭SELinux 暂时: setenforce 0 -> 重启nginx |
四、MariaDB(MySQL)
1.安装及介绍:MySQL之父把MySQL卖给了Oracle公司,考虑其闭预源的可能性,又创建了MariaDB,看做MySQL的取代品
yum -y install mariadb-server | 安装 |
mysql -V | 查看版本,注意V大写。 |
systemctl start mariadb | 开启 |
systemctl stop mariadb | 停止 |
systemctl restart mariadb | 重启 |
systemctl enable mariadb | 开机启动 |
mysqladmin -u root password '123' | 设置密码为123 |
mysql -uroot -p123 | 进入数据库操作 |
set password for 'root'@'localhost' = password('123'); | 更改密码 |
show databases; | 显示数据库 |
create database <数据库名>; | 创建数据库 |
use <数据库名>; | 进入数据库 |
show tables; | 显示表 |
show columns from <表名> | 显示字段 |
drop table <表名> | 删除表 |
注意创建表时不能使用Tab键
2.本机连接虚拟机数据库
直接使用可视化数据库管理工具连接是不行的
1. 缺少对外访问的账户
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION; 创建一个root账户,密码123.
flush privileges; 更新
2. 防火墙端口问题
firewall-cmd --zone=public --add-port=3306/tcp --permanent 开启3306端口
firewall-cmd --reload 重启防火墙