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默认页面。

http://10.0.0.7

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

还可以部署其他产品

phpmyadmin
zblog
discuz
edusoho

数据库拆分

由于单台服务器运行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/

Nginx-LNMP架构搭建的更多相关文章

  1. 基于LNMP架构搭建wordpress博客之安装架构说明

    架构情况 架构情况:基于LNMP架构搭建wordpress系统 软件包版本说明: 系统要求 :  CentOS-6.9-x86_64-bin-DVD1.iso PHP版本  :  php-7.2.29 ...

  2. 企业级LNMP架构搭建实例(基于Centos6.x)

    1.1 部署LNMP架构说明 1.1.1 LNMP架构内容 01.部署linux系统 02.部署nginx网站服务 03.部署mysql数据库服务 04.部署php动态解析服务 1.1.2 配置LNM ...

  3. Linux(12):期中架构(4)--- 前端部分:HTTP & Nginx & LNMP架构

    HTTP协议概念原理说明 1. 当用户访问一个网站时经历的过程 # ①. 利用DNS服务,将输入的域名解析为相应的IP地址 a 本地主机输入域名后,会查询本地缓存信息和本地hosts b 本地主机会向 ...

  4. 部署企业LNMP架构搭建bbs

    部署企业LNMP架构 1===============部署Nginx 2===============安装及部署Mysql数据库 3===============安装PHP解析环境 4======== ...

  5. lnmp架构搭建实例

    lamp->lnmp nginx survey.netcraft.net 查看各大网站使用的web服务器,使用下面的命令 # curl -I www.sina.com 结论:现在大型网站几乎统一 ...

  6. Linux系统下LNMP架构搭建

    一.防火墙状态: 1.查看防火墙状态: systemctl status firewalld service iptables status firewall-cmd --state 2.永久有效开启 ...

  7. LNMP架构搭建

    目录 一:LNMP架构简介 1.Nginx与uwsgi 二:django框架+python 1.创建用户 2.安装依赖包 3.安装uwsgi和django 4.测试python 5.创建django项 ...

  8. Linux LNMP架构搭建

    一.搭建LNMP基本架构 1.L(http) N(nginx) M(mysql) P(php) 2.安装顺序 Mysql-->PHP-->Nginx 3.安装包 Discuz_3. htt ...

  9. 基于LNMP架构搭建wordpress个人博客

    搭建过程 注意防火墙和selinux的影响可以先关闭. 一.安装nginx # 1.更改nginx源安装nginx [root@web01 ~]# vi /etc/yum.repos.d/nginx. ...

  10. LNMP系统服务搭建过程详解

    和LAMP不同的是LNMP中的N指的是Nginx(类似于Apache的一种web服务软件)其他都一样.目前这种环境应用的也是非常之多.Nginx设计的初衷是提供一种快速高效多并发的web服务软件.在静 ...

随机推荐

  1. 前端学习(三十八)vue(笔记)

    Angular+Vue+React    Vue性能最好,Vue最轻=======================================================Angular     ...

  2. python 的文件编码处理

    python的文件编码处理有点粗鲁 1.不管文件原来是编码类型,读入后都转换成Unicode的编码 2.写入文件时,write函数把变量以读入文件的编码方式写入(根据open(path,mode,en ...

  3. CSS重置浏览器所有默认的样式

    ::-webkit-scrollbar-track-piece { width: 8px; height:8px; background-color: #f0f0f0; /* 背景色 */ } ::- ...

  4. python多个装饰器

    '''在装饰器中加上参数:1.实现在源代码中加上时间统计:函数timmer2.实现用户名认证功能:函数auth23.实现一次认证,刷新后自动登录功能,index函数已经认证并登录,在执行home函数时 ...

  5. jquery设置、判断、获取input单选标签选中状态

    1.设置某项单选input为选中状态: $("input[type='radio']").eq(1).attr('checked',true); ②也可设其属性checked为'c ...

  6. 牛客假日团队赛9 A 乘积最大 (简单DP)

    题目:https://ac.nowcoder.com/acm/contest/1071/A 题意:给你一个串,然后给你m个乘号,用m个乘号分割开这个串,然后求分割可以求出的最大值 思路:首先范围很小 ...

  7. redis哨兵-5

    #地址: https://www.cnblogs.com/PatrickLiu/p/8444546.html #常用架构 redis1主1从+3哨兵 实现redis高可用 #redis主从 ##### ...

  8. zkw 线段树

    优秀的 zkw 线段树讲解:<线段树的扩展之浅谈 zkw 线段树> 存一份模板代码(区间修改.区间查询): /* zkw Segment Tree * Au: GG */ #include ...

  9. Java8新特性-日期相关类操作

    JDK8以前使用SImpleDateFormate类格式化日期,因为在SImple DateFormate中存在Calendar实例引用,而在caleander中得establish中存在clear( ...

  10. intel instruction 指令速查

    参考:http://ref.x86asm.net/ http://ref.x86asm.net/coder32.html