本篇文章介绍 LNMP 架构部署项目,包括 Nginx 安装配置、PHP 安装配置、数据库 Mariadb 安装配置、Nginx 连通 PHP、PHP 连通 MySQL。
0)LNMP 架构
Linux Nginx Mysql PHP
Nginx 不能处理动态请求,如果是动态请求,就需通过 fastcgi 协议转交给后端的 PHP 程序处理。
1)Nginx 安装配置
1.1)安装 Nginx
配置官网 yum 仓库
[root@Web01 ~] vim /etc/yum.repos.d/nginx.repo
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true
[root@Web01 ~] yum clean all
[root@Web01 ~] yum makecache
[root@Web01 ~] yum install nginx -y
1.2)创建虚拟用户
[root@Web01 ~] groupadd -g 666 www
[root@Web01 ~] useradd -u666 -g666 -M -s /sbin/nologin www
1.3)配置 Nginx 启动用户为 www
[root@Web01 ~] vim /etc/nginx/nginx.conf
user www;
worker_processes auto;
1.4)启动 Nginx 加入开机自启动
[root@Web01 ~] systemctl start nginx
[root@Web01 ~] systemctl enable nginx
[root@Web01 ~] systemctl status nginx
2)PHP 安装配置
2.1)配置 PHP 软件仓库并安装 PHP
1. 配置 PHP 仓库
[root@Web01 ~] rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
[root@Web01 ~] rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
[root@Web01 ~] yum remove php-mysql-5.4 php php-fpm php-common
2. 配置第三方源
[root@Web01 ~] vim /etc/yum.repos.d/php.repo
[php-webtatic]
name = PHP Repository
baseurl = http://us-east.repo.webtatic.com/yum/el7/x86_64/
gpgcheck = 0
3. 安装 PHP
[root@Web01 ~] yum -y install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-gd php71w-mcrypt php71w-mbstring php71w-pdo php71w-xml php71w-fpm php71w-mysqlnd php71w-opcache php71w-pecl-memcached php71w-pecl-redis php71w-pecl-mongodb --nogpgcheck
或者是使用 rpm 包,直接上传后解压。
链接:https://pan.baidu.com/s/1KERI097kxOhynDkNJ7RbXA 提取码:qlbt
yum -y localinstall *.rpm
2.2)修改PHP启动用户为 www
[root@Web01 ~] sed -i '/^user/c user = www' /etc/php-fpm.d/www.conf
[root@Web01 ~] sed -i '/^group/c group = www' /etc/php-fpm.d/www.conf
2.3)启动服务并设置开机自启
[root@Web01 ~] systemctl start php-fpm
[root@Web01 ~] systemctl enable php-fpm
[root@Web01 ~] systemctl status php-fpm
2.4)验证状态
[root@Web01 ~] netstat -nltp
3)安装数据库 Mariadb
3.1)安装数据库
[root@Web01 ~] yum install mariadb-server -y
3.2)启动数据库、设置开机自启动、查看状态
[root@Web01 ~] systemctl start mariadb
[root@Web01 ~] systemctl enable mariadb
[root@Web01 ~] systemctl status mariadb
[root@Web01 ~] netstat -nltp
3.3)配置用户密码,默认是 root
1. 配置 MySQL 密码为 P@ssw0rd123456
[root@Web01 ~] mysqladmin password 'P@ssw0rd123456'
2. 登录 MySQL 数据库
[root@Web01 ~] mysql -uroot -pP@ssw0rd123456
MariaDB [(none)]> show databases; # 查看有哪些库
MariaDB [(none)]> create database hehe; # 创建 haha 库
MariaDB [(none)]> drop database hehe; # 删除 haha 库
MariaDB [(none)]> exit # 退出数据库
注:配置数据库密码需服务启动后才能配置
4)测试 Nginx 连通 PHP
- < 站点目录:/code >
- < 反向代理:php.wuhanjiayou.cn 至 127.0.0.1:9000 >
- < 优先索引:index.php index.html >
[root@Web01 /] vim /etc/nginx/conf.d/default.conf
server {
listen 80;
server_name php.wuhanjiayou.cn;
location / {
root /code;
index index.php index.html;
}
location ~ \.php$ {
root /code;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
[root@Web01 /] nginx -t
[root@Web01 /] systemctl restart nginx
[root@Web01 /] mkdir /code
[root@Web01 /] cat /code/index.php
<?php
phpinfo();
?>
Windows 本地 hosts 解析后,即可访问 PHP 有关信息
< 如访问报错:403 Forbidden > [ 关闭 SElinux ]
setenforce 0
sed -i 's/^SELINUX=.*/SELINUX=disabled/g' /etc/selinux/config
systemctl stop firewalld
systemctl disable firewalld
5)测试 PHP 连通 MySQL
[root@Web01 /]# vim /code/mysql.php
<?php
$servername = "localhost";
$username = "root";
$password = "P@ssw0rd123456";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "PHP 成功连接 MySQL 数据库 ...";
?>
完成
标签:PHP,架构,部署,LNMP,nginx,php71w,Web01,php,root From: https://blog.51cto.com/blogking/8042557