1、安装Nginx:
//1.使⽤用Nginx官⽅方提供的rpm包
[root@llody ~]# cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
//2.执⾏行行yum安装
[root@llody ~]# yum install nginx -y
[root@llody ~]# systemctl start nginx
[root@llody ~]# systemctl enable nginx
//测试Nginx是否可以访问:
当然,这里如果没做什么改动,访问的页面应该是Nginx默认首页。
如果不能访问请关闭防火墙:
关闭: systemctl stop firewalld
禁止开机启动 : systemctl disable firewalld
2、使用第三方扩展epel源安装PHP7.2:
// 移除旧版 php
[root@llody ~]# yum remove php-mysql-5.4 php php-fpm php-common
// 安装扩展源
[root@llody ~]# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-
7.noarch.rpm
[root@llody ~]# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
// 安装 php72 版本
[root@llody ~]# yum -y install php72w php72w-cli php72w-common php72w-devel \
php72w-embedded php72w-gd php72w-mbstring php72w-pdo php72w-xml php72w-fpm \
php72w-mysqlnd php72w-opcache
// 启动 php
[root@llody ~]# systemctl start php-fpm
[root@llody ~]# systemctl enable php-fpm
3、安装mysql(mariadb):
//下载官⽅方扩展源, 扩展源集成mysql5.6、5.7、8.0,仅5.7仓库是开启
[root@llody ~]# rpm -ivh http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/
mysql57-community-release-el7-10.noarch.rpm
[root@llody ~]# yum install mysql-community-server -y
[root@llody ~]# systemctl start mysqld
[root@llody ~]# systemctl enable mysqld
//如果mysql登陆需要密码,请查看该⽂文件
[root@llody ~]# grep 'temporary password' /var/log/mysqld.log
//登陆mysql重新配置密码
[root@llody ~]# mysql -uroot -p'password'
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
遇到问题1:
登陆需要密码,按上述操作能解决:
问题2:
用远程工具(Navicat)无法远程连接,一直报1045:
解决方案:
1、linux防火墙未加3306端口
2、关闭firewalld防火墙:systemctl stop firewalld,systemctl disable firewalld
3、服务器上登录mysql,查看是否有地址限制,
use mysql; #进入mysql数据库
select host,user from user; #查询连接用户
grant all privileges on *.* to 'root'@'%' identified by '密码'; #授权连接地址
flush privileges; #立即生效
exit; #退出数据库
systemctl restart mysqld #重启服务
出现%表示成功,%也表示允许所有IP地址连接,也可以指定IP地址连接。
连接成功。
4、配置Nginx实现动态请求转发至PHP
替换Nginx自带的default.conf
[root@llody ~]# cat /etc/nginx/conf.d/php.conf
server {
server_name _;
listen 80;
root /soft/code;
index index.php index.html;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /soft/code$fastcgi_script_name;
include fastcgi_params;
}
}
遇到问题1:一直报403
解决:1、chmod -R 755 /soft/code #赋予code文件件可读可写权限
2、查看本机selinux 是否开启
[root@llody code]# getenforce #查看状态
Enforcing
[root@llody code]# setenforce 0 #关闭selinux,临时关闭(不用重启)
[root@llody code]# getenforce #查看是否状态
Permissive
一直关闭:
修改配置文件 /etc/ selinux/config,将SELINUX=enforcing改为SELINUX=disabled
vim /etc/selinux/config
在/soft/code/新建以下php访问文件
5、配置PHP文件,测试连接mysql
// 使⽤用 mysqli 模块测试连接 mysql
[root@llody ~]# cat /soft/code/mysqli.php
<?php
$servername = "192.168.2.128";
$username = "root";
$password = "admin"; #没设置数据库密码就不填
//创建连接
$conn = mysqli_connect($servername,$username,$password);
//检测连接是否成功
if(!$conn){
die("连接失败:".mysqli_connect_error());
}
echo "连接成功";
?>
// 使⽤用 pdo 模块测试连接 mysql
[root@llody code]# vim mysqlpdo.php
<?php
$servername = "192.168.2.128";
$username = "root";
$password = "admin";
try{
$conn = new PDO("mysql:host=$servername;dbname=mysql", $username, $password);
echo "PDO连接成功";
}catch(PDOException $e)
{
echo $e ->getMessage();
echo "连接失败";
}
?>