搭建 lnmp
作者:互联网
Nginx-LNMP架构搭建
目录
- Nginx-LNMP架构搭建
Nginx-LNMP架构搭建
LNMP架构概述
LNMP
是一套技术的组合,L=Linux、N=Nginx、M=MySQL、P=PHP
LNMP架构是如何工作的
首先Nginx服务是不能处理动态请求,那么当用户发起动态请求时, Nginx又是如何进行处理的。
当用户发起http请求,请求会被Nginx处理,如果是静态资源请求Nginx则直接返回,如果是动态请求Nginx则通过fastcgi协议转交给后端的PHP程序处理,具体如下图所示
Nginx与Fast-CGI详细工作流程
1.用户通过http
协议发起请求,请求会先抵达LNMP
架构中的Nginx
2.Nginx
会根据用户的请求进行判断,这个判断是有Location
进行完成
3.判断用户请求的是静态页面,Nginx
直接进行处理
4.判断用户请求的是动态页面,Nginx
会将该请求交给fastcgi
协议下发
5.fastgi
会将请求交给php-fpm
管理进程, php-fpm
管理进程接收到后会调用具体的工作进程warrap
6.warrap
进程会调用php
程序进行解析,如果只是解析代码php
直接返回
7.如果有查询数据库操作,则由php
连接数据库(用户 密码 IP)发起查询的操作
8.最终数据由*mysql->php->php-fpm->fastcgi->nginx->http->user
LNMP架构环境部署
可以在nginx官网nginx.org查询语法
部署LNMP
#先修改源,base源只保留aliyun的
[root@web01 yum.repos.d]# vim CentOS-Base.repo
[base]
name=CentOS-$releasever - Base - mirrors.aliyun.com
failovermethod=priority
baseurl=http://mirrors.aliyun.com/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7
...
1.部署nginx
1)更换nginx的官方源
[root@web01 ~]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
2)安装nginx
[root@web01 ~]# yum install -y nginx
3)创建nginx启动用户
[root@web01 ~]# groupadd www -g 666
[root@web01 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
4)修改nginx的启动用户
#修改nginx的配置文件
[root@web01 ~]# vim /etc/nginx/nginx.conf
user www;
#修改用户为www
[root@web01 ~]# vim /etc/yum.conf
#修改yum缓存为开启 keepcache=0 -----> keepcache=1
5)启动nginx并加入开机自启
[root@web01 ~]# systemctl start nginx
[root@web01 ~]# systemctl enable nginx
6)打开浏览器查看nginx是否启动成功,成功的话能登陆nginx默认页面。
2.部署PHP
1)更改PHP源
[root@web02 ~]# 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
2)安装PHP
[root@web02 ~]# 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
3)修改PHP的启动用户
[root@web01 conf.d]# vim /etc/php-fpm.d/www.conf
user = www
group = www
4)启动php加入开机自启
[root@web01 conf.d]# systemctl start php-fpm
[root@web01 conf.d]# systemctl enable php-fpm
5)配置nginx通过fastcgi连接php
[root@web01 conf.d]# vim php.conf
server {
listen 80;
server_name localhost;
location / {
root /code;
index index.php index.html;
}
location ~ \.php$ {
root /code;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
6).在/code目录下创建index.php文件,测试能否通过浏览器访问,访问成功如下图
[root@web01 ~]# vim /code/index.php
<?php
phpinfo();
?>
[root@web01 conf.d]# gzip default.conf
[root@web01 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 conf.d]# nginx -s reload
6)打开浏览器访问10.0.0.7,能登录到php的默认页面。
注意:
修改上传文件大小
[root@web01 ~]# vim /etc/php.ini
3.部署数据库
1)安装mariadb
[root@web01 ~]# yum install -y mariadb-server
2)启动并加入开机自启
[root@web01 ~]# systemctl start mariadb
[root@web01 ~]# systemctl enable mariadb
3)设置数据库密码
[root@web01 ~]# mysqladmin -uroot password 'Zls123.com'
4)连接数据库
[root@web01 ~]# mysql -uroot -pZls123.com
5)测试php连接数据库
[root@web01 conf.d]# cd /code/
[root@web01 code]# vim index.php
<?php
$servername = "localhost";
$username = "root";
$password = "Zls123.com";
// 创建连接
$conn = mysqli_connect($servername, $username, $password);
// 检测连接
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
echo "小哥哥,php可以连接MySQL...";
?>
<img style='width:100%;height:100%;' src=https://www.driverzeng.com/zenglaoshi/php_mysql.png>
6)连接数据库,创建库
#查看有哪些数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
#创建数据库
MariaDB [(none)]> create database wordpress;
Query OK, 1 row affected (0.00 sec)
#再次查看数据库
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress |
+--------------------+
5 rows in set (0.00 sec)
#查看wordpress库
MariaDB [(none)]> show tables from wordpress;
Empty set (0.01 sec)
MariaDB [(none)]> show tables from zh;
Empty set (0.00 sec)
#退出
MariaDB [(none)]> \q
部署博客Wordpress
1)配置Nginx
虚拟主机站点,域名为blog.gjy.com
#1.nginx具体配置信息
[root@web01 ~]# vim /etc/nginx/conf.d/blog.gjy.com.conf
server {
listen 80;
server_name blog.gjy.com;
root /code/wordpress;
index index.php index.html;
charset utf-8,gbk;
location ~ \.php$ {
root /code/wordpress;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
2)重启nginx服务
[root@web01 ~]# systemctl restart nginx
3)获取wordpress
产品,解压并部署wordress
[root@web01 ~]# mkdir /code
[root@web01 ~]# cd /code
[root@web01 code]# wget https://cn.wordpress.org/wordpress-5.0.3-zh_CN.tar.gz
#永远下载最新版
[root@web01 code]# wget https://cn.wordpress.org/latest-zh_CN.tar.gz
[root@web01 ~]# tar xf wordpress-5.0.3-zh_CN.tar.gz
[root@web01 ~]# chown -R www.www /code/wordpress/
4)由于wordpress
产品需要依赖数据库,所以需要手动建立数据库
[root@web01 ~]# mysql -uroot -pZls123.com
#建立WordPress数据库
mysql> create database wordpress;
#退出
mysql> exit
5)通过浏览器访问wordpress,并部署该产品
搭建知乎产品wecenter
1.配置web01
虚拟主机站点,域名为zh.gjy.com
#1.nginx具体配置信息
[root@web01 ~]# vim /etc/nginx/conf.d/zh.gjy.com.conf
server {
listen 80;
server_name zh.gjy.com;
root /code/zh;
index index.php index.html;
charset utf-8,gbk;
location ~ \.php$ {
root /code/zh;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
#2.重启nginx服务
[root@web01 ~]# systemctl restart nginx
2.下载Wecenter
产品,部署Wecenter
并授权
官方下载地址:TP
[root@web01 ~]# wget http://ahdx.down.chinaz.com/201605/WeCenter_v3.2.1.zip
[root@web01 ~]# unzip WeCenter_3-2-1.zip
[root@web01 ~]# mv WeCenter_3-2-1/ /code/zh
[root@web01 ~]# chown -R www.www /code/zh/
3.由于wecenter
产品需要依赖数据库, 所以需要手动建立数据库
#1.登陆数据库
[root@web01 ~]# mysql -uroot -pZls123.com
#2.创建wordpress数据库
MariaDB [(none)]> create database zh;
MariaDB [(none)]> exit
3.通过浏览器访问网站
搭建edusoho (修改域名及安装路径)
[root@web01 conf.d]# vim /etc/nginx/conf.d/edusoho.gjy.com.conf
server {
listen 80;
# [改] 网站的域名
server_name edusoho.gjy.com;
#301跳转可以在nginx中配置
# 程序的安装路径
root /code/edusoho/web;
charset utf-8,gbk;
# 日志路径
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
index app.php;
try_files $uri @rewriteapp;
}
location @rewriteapp {
rewrite ^(.*)$ /app.php/$1 last;
}
location ~ ^/udisk {
internal;
root /var/www/edusoho/app/data/;
}
location ~ ^/(app|app_dev)\.php(/|$) {
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
fastcgi_param HTTP_X-Sendfile-Type X-Accel-Redirect;
fastcgi_param HTTP_X-Accel-Mapping /udisk=/code/edusoho/app/data/udisk;
fastcgi_buffer_size 128k;
fastcgi_buffers 8 128k;
}
# 配置设置图片格式文件
location ~* \.(jpg|jpeg|gif|png|ico|swf)$ {
# 过期时间为3年
expires 3y;
# 关闭日志记录
access_log off;
# 关闭gzip压缩,减少CPU消耗,因为图片的压缩率不高。
gzip off;
}
# 配置css/js文件
location ~* \.(css|js)$ {
access_log off;
expires 3y;
}
# 禁止用户上传目录下所有.php文件的访问,提高安全性
location ~ ^/files/.*\.(php|php5)$ {
deny all;
}
# 以下配置允许运行.php的程序,方便于其他第三方系统的集成。
location ~ \.php$ {
# [改] 请根据实际php-fpm运行的方式修改
fastcgi_pass 127.0.0.1:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
}
}
上传edusoho安装包,并给权限
#查看安装包
[root@web01 code]# ll
total 67276
drwxr-xr-x 10 www www 115 Jul 18 09:56 edusoho
-rw-r--r-- 1 www www 68889387 Aug 19 12:40 edusoho-8.3.36.tar.gz
检查
[root@web01 conf.d]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@web01 conf.d]# nginx -s reload
还可以部署其他产品
phpmyadminzblogdiscuzedusoho
数据库拆分
由于单台服务器运行lnmp架构会导致网站访问缓慢,很容易导致系统出现oom,从而kill掉mysql数据库,所以要将web和数据库进行独立部署。
数据库拆分后解决的问题
1.缓解web网站的压力
2.增强数据库读写性能
3.提高用户访问速度
拆分环境准备
主机名称 | 应用环境 | 外网地址 | 内网地址 |
---|---|---|---|
web01 | nginx+php | 10.0.0.7 | 172.16.1.7 |
db01 | mysql | 10.0.0.51 | 172.16.1.51 |
实战
1)导出源数据库中的数据,Zls123.com是数据库密码
#-B 导出数据库中指定的模块[root@web01 ~]# mysqldump -uroot -pZls123.com -B wordpress > /tmp/wordpress.sql# -A 导出数据库所有的数据[root@web01 ~]# mysqldump -uroot -pZls123.com -A > /tmp/mysql.sql
2)将导出的数据,传到新数据库 db01 的服务器上
[root@web01 code]# scp /tmp/mysql.sql 172.16.1.51:/tmp
3)在db01服务器上,安装数据库
[root@db01 ~]# yum install -y mariadb-server
4)启动数据库并加入开机自启
[root@db01 ~]# systemctl start mariadb[root@db01 ~]# systemctl enable mariadb
5)设置MySQL密码
[root@db01 ~]# mysqladmin -uroot -p password 'Zls123.com'
6)将导出的数据,导入数据库内
[root@db01 ~]# mysql -uroot -pZls123.com < /tmp/mysql.sql
7)停止旧的数据库
[root@web01 code]# systemctl stop mariadb
8)连接数据库并查看
[root@db01 ~]# mysql -uroot -pZls123.com
MariaDB [(none)]> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
| wordpress
|
+--------------------+
#查看库中的表
MariaDB [(none)]> show tables from wordpress;
+-----------------------+
| Tables_in_wordpress |
+-----------------------+
| wp_commentmeta |
| wp_comments |
| wp_links |
| wp_options |
| wp_postmeta |
| wp_posts |
| wp_term_relationships |
| wp_term_taxonomy |
| wp_termmeta |
| wp_terms |
| wp_usermeta |
| wp_users |
+-----------------------+
9)测试连接数据库
[root@web01 ~]# mysql -uroot -pZls123.com -h172.16.1.51
报错解决:
[root@web01 ~]# mysql -uroot -pZls123.com -h172.16.1.51
ERROR 2003 (HY000): Can't connect to MySQL server on '172.16.1.51' (113)
#关闭防火墙
[root@db01 ~]# systemctl stop firewalld
[root@web01 ~]# mysql -uroot -pZls123.com -h172.16.1.51
ERROR 1130 (HY000): Host '172.16.1.8' is not allowed to connect to this MariaDB server
#授权用户允许远程连接
MariaDB [(none)]> grant all on wordpress.* to wp@'172.16.1.%' identified by 'Zls123.com';
10)在新数据库上db01 授权,允许所有网段,通过all账户连接并操作该数据库
#授权用户允许远程连接
MariaDB [(none)]> grant all on wordpress.* to wp@'172.16.1.%' identified by 'Zls123.com';
#授权允许所有的模块
MariaDB [(none)]> grant all on *.* to wp@'172.16.1.%' identified by 'Zls123.com';
#查看授权
MariaDB [(none)]> select user,host from mysql.user;
+------+------------+
| user | host |
+------+------------+
| root | 127.0.0.1 |
| wp | 172.16.1.% |
| root | ::1 |
| | db01 |
| root | db01 |
| | localhost |
| root | localhost |
+------+------------+
11)1.修改wordpress
产品代码连接数据库的配置文件---php代码
[root@web01 ~]# vim /code/wordpress/wp-config.php
// ** MySQL 设置 - 具体信息来自您正在使用的主机 ** //
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );
/** MySQL数据库用户名 */
define( 'DB_USER', 'wp' );
/** MySQL数据库密码 */
define( 'DB_PASSWORD', 'Zls123.com' );
/** MySQL主机 */
define( 'DB_HOST', '172.16.1.51' );
2.修改wecenter
产品代码连接数据库的配置文件
#查找知乎产品的配置文件[root@web01 zh]# grep -iR "Zls123.com" |grep -v cache或者[root@web01 zh]# grep -r "Zls123.com" ./*system/config/database.php: 'password' => 'Zls123.com',#修改配置文件:[root@web01 zh]# vim /code/zh/system/config/database.php 'host' => '172.16.1.51', 'username' => 'wp', 'password' => 'Zls123.com', 'dbname' => 'zh',
3.修改edusoho
产品代码连接数据库的配置文件
[root@web01 code]# mv edusoho/app/cache/prod/appProdProjectContainer.php edusoho/app/cache/prod/appProdProjectContainer.php.off[root@web01 code]# vim edusoho/app/config/parameters.yml database_host: 172.161.1.51 database_port: 3306 database_name: edusoho database_user: wp
12)测试数据库连接
[root@web01 ~]# mysql -uwp -pZls123.com -h172.16.1.51
13)重启php
[root@web01 ~]# systemctl restart php-fpm
14)打开浏览器访问,成功打开,致此拆分数据库完成。
扩展一台相同的web02服务器
1)压缩包直接 安装nginx和php ,安装nginx ,安装php
[root@web02 ~]# rz -E
rz waiting to receive.
[root@web02 ~]# ll
total 41764
-rw-r--r-- 1 root root 42755522 Aug 20 15:30 nginx_php_mariadb.tar.gz
[root@web02 ~]# tar xf nginx_php_mariadb.tar.gz
[root@web02 ~]# ll
total 41768
drwxr-xr-x 2 root root 4096 Aug 20 23:16 nginx_php_mariadb
-rw-r--r-- 1 root root 42755522 Aug 20 15:30 nginx_php_mariadb.tar.gz
#解压
[root@web02 nginx_php_mariadb]# yum install -y ./*.rpm
或者 [root@web02 nginx_php_mariadb]# rpm Uvh *rpm
#拷贝web01服务器code下所有文件,wordpress,zhihu ,edusoho...
[root@web01 ~]# scp -r /code 172.16.1.7:/
2)创建www用户
[root@web02 ~]# groupadd www -g 666
[root@web02 ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
3)修改nginx启动用户为www
[root@web02 ~]# vim /etc/nginx/nginx.conf
4)修改php启动用户为www
[root@web02 ~]# vim /etc/php-fpm.d/www.conf
5)授权
[root@web02 ~]# chown -R www.www /code/
6)拷贝web01的配置文件到web02
[root@web01 conf.d]# scp ./* 172.16.1.7:/etc/nginx/conf.d/
7)查看myaql状态
[root@web02 ~]# rpm -qa |grep mariadb
mariadb-libs-5.5.60-1.el7_5.x86_64 (只是一个库文件)
#没有安装mysql
[root@web02 ~]# mysql
-bash: mysql: command not found
访问WordPress,知乎,只能打开nginx默认页面。
8)启动nginx和php
[root@web02 ~]# systemctl restart nginx php-fpm
[root@web02 ~]# systemctl enable nginx php-fpm
9)域名访问WordPress,知乎。 能打开各自的网页
如果在web01 重新登陆,写文章,加载图片时,
web02访问的时候,图片访问不到,只是静态资源共享 (可以和上图对比)
静态资源共享
0)环境准备
主机名称 | 应用环境 | 外网地址 | 内网地址 |
---|---|---|---|
web01 | nginx+php | 10.0.0.7 | 172.16.1.7 |
web02 | nginx+php | 10.0.0.8 | 172.16.1.8 |
nfs | nfs | 10.0.0.31 | 172.16.1.31 |
db01 | mysql | 10.0.0.51 | 172.16.1.51 |
NFS共享存储,部署
1)先准备一台NFS,安装NFS
[root@nfs ~]# yum install -y nfs-utils
2)配置NFS配置文件
[root@nfs ~]# vim /etc/exports
#wordpress静态资源共享目录
/data/wordpress 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
#wecenter静态资源共享目录
/data/zh 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
#edusoho静态资源共享目录
/data/edusoho 172.16.1.0/24(rw,sync,all_squash,anonuid=666,anongid=666)
3)启动rpcbind和nfs并加入开机自启
[root@nfs ~]# systemctl start rpcbind nfs-server
[root@nfs ~]# systemctl enable rpcbind nfs-server
4)监测nfs配置
[root@nfs ~]# cat /var/lib/nfs/etab
/data/edusoho 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)
/data/zh 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)
/data/wordpress 172.16.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,no_pnfs,anonuid=666,anongid=666,sec=sys,rw,secure,root_squash,all_squash)
5)创建用户
[root@nfs ~]# groupadd www -g 666
[root@nfs ~]# useradd www -u 666 -g 666 -s /sbin/nologin -M
6)创建目录并授权
[root@nfs ~]# mkdir /data/{wordpress,edusoho,zh} -p
[root@nfs ~]# chown -R www.www /data/
配置nfs的客户端
1)安装nfs
[root@web01 ~]# yum install -y nfs-utils
[root@web02 ~]# yum install -y nfs-utils
[root@web03 ~]# yum install -y nfs-utils
2)查看挂载点
[root@web01 ~]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/edusoho 172.16.1.0/24
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
[root@web02 edusoho]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/edusoho 172.16.1.0/24
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
[root@web03 2019]# showmount -e 172.16.1.31
Export list for 172.16.1.31:
/data/edusoho 172.16.1.0/24
/data/zh 172.16.1.0/24
/data/wordpress 172.16.1.0/24
1.WordPress部署nfs共享存储
1)将用户上传目录的静态资源,推送到nfs服务器上
[root@web01 ~]# scp -r /code/wordpress/wp-content/uploads/* 172.16.1.31:/data/wordpress
[root@web02 ~]# scp -r /code/wordpress/wp-content/uploads/* 172.16.1.31:/data/wordpress
[root@web03 ~]# scp -r /code/wordpress/wp-content/uploads/* 172.16.1.31:/data/wordpress
2)上传之后,要再重新授权给nfs服务器共享目录授权
[root@nfs ~]# chown -R www.www /data/
3)挂载
[root@web01 ~]# mount -t nfs 172.16.1.31:/data/wordpress /code/wordpress/wp-content/uploads/
[root@web02 ~]# mount -t nfs 172.16.1.31:/data/wordpress /code/wordpress/wp-content/uploads/
[root@web03 ~]# mount -t nfs 172.16.1.31:/data/wordpress /code/wordpress/wp-content/uploads/
4)查看挂载点
[root@web01~]# df -h
[root@web02 ~]# df -h
[root@web03 ~]# df -h
2.zh部署nfs共享存储
[root@web01 zh]# scp -r /code/zh/uploads/* 172.16.1.31:/data/zh
[root@web02 zh]# scp -r /code/zh/uploads/* 172.16.1.31:/data/zh
[root@web03 zh]# scp -r /code/zh/uploads/* 172.16.1.31:/data/zh
[root@nfs ~]# chown -R www.www /data/
[root@web01 zh]# mount -t nfs 172.16.1.31:/data/zh /code/zh/uploads/
[root@web02 zh]# mount -t nfs 172.16.1.31:/data/zh /code/zh/uploads/
[root@web03 zh]# mount -t nfs 172.16.1.31:/data/zh /code/zh/uploads/
3.edusoho部署nfs共享存储
[root@web01 zh]# scp -r /code/edusoho/web/files/course/* 172.16.1.31:/data/edusoho
[root@web02 zh]# scp -r /code/edusoho/web/files/course/* 172.16.1.31:/data/edusoho
[root@web03 zh]# scp -r /code/edusoho/web/files/course/* 172.16.1.31:/data/edusoho
[root@nfs ~]# chown -R www.www /data/
[root@web01 zh]# mount -t nfs 172.16.1.31:/data/edusoho /code/edusoho/web/files/course/
[root@web02 zh]# mount -t nfs 172.16.1.31:/data/edusoho /code/edusoho/web/files/course/
[root@web03 zh]# mount -t nfs 172.16.1.31:/data/edusoho /code/edusoho/web/files/course/
标签:zh,lnmp,nginx,web01,172.16,php,root,搭建 来源: https://www.cnblogs.com/223zhp/p/15976503.html