day 46

1.LNMP架构说明

LNMT: linux nginx mysql tomcat
LNMP: linux nginx mysql php/python
LAMP: linux apache mysql php
作用: 可以使用架构处理动态访问请求

2. LNMP架构部署过程

Linux : 
1) 系统安全服务需要关闭 selinux iptables
2) 确认系统/tmp目录权限 1777
nginx :
1) 安装yum官方源nginx程序
mysql/mariadb:
1) 安装部署maraidb
# 下载安装数据库程序软件
yum install mariadb-server mariadb -y
# 启动数据库程序服务进程
systemctl start mariadb.service 
systemctl enable mariadb.service

启动服务异常: 无法启动服务
原因: 服务配置文件不正确
\cp /usr/share/mysql/my-small.cnf  /etc/my.cnf

数据库特殊的管理命令: SQL语句(库 -- 表 -- 列/行(字段-数据信息))
show databases;    --- 查看所有数据库信息
use 数据库名称;    --- 切换数据库
show tables;       --- 查看库中所有表信息
select * from user;--- 查看表中的数据信息

数据库服务设置登录密码信息
mysqladmin -uroot password "oldboy123"   --- 设置密码或者修改密码
mysql -uroot -poldboy123

php: 解析动态请求的服务

PHP服务部署 http://php.net/
# 解决yum安装软件冲突问题
yum remove php-mysql php php-fpm php-common
# 准备yum安装软件扩展源信息
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
更新yum源之后,新生成的文件信息:
webtatic-archive.repo/webtatic.repo/webtatic-testing.repo
epel.repo.rpmnew/epel-testing.repo

# 利用yum安装PHP相关软件信息
yum install -y 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

# 修改php服务进程管理用户信息(建议修改的用户和nginx worker进程用户一致)
vim /etc/php-fpm.d/www.conf
8 user = www
10 group = www

   # 启动运行php-fpm程序

3.LNMP架构配置过程

第一个历程: 建立nginx--php通讯过程
1) 编写nginx配置
server {
  listen        80;
  server_name   blog.oldboy.com;
  location / {
      root         /html/blog;
      index        index.php index.html;
  }
  location ~ \.php$ {
      root /html/blog;
      fastcgi_pass  127.0.0.1:9000;
      fastcgi_index index.php;
      fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
      include fastcgi_params;
  }
}

2) 进行动态访问测试
vim test_phpinfo.php


第二个历程: php + mariadb建立联系  编写代码信息
vim test_mysql.php

4.部署搭建动态网站页面

第一个历程: 下载获取动态网站代码信息
博客网站开源代码: wordpress   --- blog.oldboy.com 
代码下载地址: https://cn.wordpress.org/download/
论坛网站开源代码: discuz      --- bbs.oldboy.com
代码下载地址: https://www.discuz.net/thread-3796882-1-1.html
官方网站开源代码: dedecms/phpcms   --- www.oldboy.com
phpcms   http://www.phpcms.cn/html/download/phpcms/#content
dedecms 
知乎网站开源代码: wecenter    --- zhihu.oldboy.com  

第二个历程: 将代码信息进行上传/修改代码文件权限
chown -R www.www /html/blog/

第三个历程: 进行网站页面初始化/和网站数据库服务建立连接
创建数据库信息:
create database wordpress;

创建管理数据库用户信息:
grant all on wordpress.* to 'wordpress'@'localhost'  identified by '123456';
select user,host from mysql.user;

作业:

01. 用户访问www.oldboy.com/test/oldboy.jpg 目录下任何内容, 实际上真实访问是http://www.oldboy.com
www.oldboy.com/test/oldboy.jpg ==> www.oldboy.com/oldboy.jpg
第一个历程: 编写配置文件   
server {
  listen       80;
  server_name  www.jd.com;
  root         /html/www;
  index        index.html;
  location /test/ {
     rewrite /test/(.*)  http://www.oldboy.com/$1 permanent;
  }
}


02. 用户访问course-11-22-33.html实际上真实访问是/course/11/22/33/course_33.html
#http://www.oldboy.com/course-11-22-33.html ==> http://www.oldboy.com/course/11/22/33/course_33.html 

server {
   listen            80;
   root           /html/www;
   server_name       www.oldboy.com;
   index          index.html;
   location / {
   rewrite (.*)-(.*)-(.*)-(.*)\.(.*) $1/$2/$3/$4/course_$4.$5 last;
   #灵活rewrite ^/course-(.*)-(.*)-(.*).html$ /course/$1/$2/$3/course_$3.html redirect;
   #固定rewrite ^/course-(.*)  /course/11/22/33/course_33.html redirect;
   }
}


03. 用户访问 www.jd.com 跳转成 www.oldboy.com (难点) -- 无限跳转
方法一:
server {
  listen       80;
  server_name  www.jd.com;
  rewrite ^/(.*) http://www.oldboy.com/$1 permanent;
}

server {
   listen            80;
   server_name       www.oldboy.com;
   root              /html/www;
   index             index.html;
} 

方法二:
server {
   listen            80;
   server_name       www.oldboy.com www.jd.com;
   root              /html/www;
   index             index.html;
   location  / {
      if ($http_host ~* ^www.jd.com$) {
        rewrite ^/(.*) http://www.oldboy.com/$1 permanent;
      }
   }
}

curl -v    --- 显示详细访问过程
curl -L    --- 追踪跳转过程,显示页面信息

你可能感兴趣的:(day 46)