00.课程介绍部分
1. nginx程序网站页面跳转练习说明
2. LNMP架构介绍说明
3. LNMP架构部署安装
4. LNMP架构工作原理
5. LNMP架构配置过程
6. 搭建动态资源网站页面
7. 数据库数据迁移方法
8. 实现图片附件数据统一存储
01.课程知识回顾
1.location的配置方法
1.作用:匹配指定的URI信息,可以根据访问不同的URI信息,做出不同处理方案
2.如何匹配URI信息:
= 精确匹配指定URI信息
~ 模糊匹配指定URI信息(区分信息大小写)
~* 模糊匹配指定URI信息(不区分大小写)
^~ 进行优先匹配/不识别扩展正则信息
/ 默认匹配
/xx/ 精准匹配目录
3.return指定代码跳转 根据不同状态码做出相应处理
location / {
return 301 http://www.oldboy.com/oldboy.jpg
}
总结:有多个location需要有个默认location
指定URI信息必须存在
当URI信息不存在时,可以用return跳转
2.rewrite跳转的配置方法
1.原理:用户浏览器 属于域名地址A -- web服务器 -- 自动处理 --访问域名地址信息B
2.跳转的四种方式
last 请求发送过去后跳转成功会重新发起访问(URI信息不改变)
break 用户访问会直接得到跳转后的信息 (URI信息不变)
redirect(临时跳转) 将地址url/uri信息进行跳转变化
permanent(永久跳转) 将地址url/uri信息进行跳转变化
临时跳转:不会让浏览器记录跳转信息 (URI信息跳转经常用)
永久跳转:让浏览器记录跳转信息 (URL信息跳转经常用)
02. LNMP架构说明
LNMT: linux nginx mysql tomcat
LNMP: linux nginx mysql php/python
LAMP: linux apache mysql php
作用: 可以使用架构处理动态访问请求
03. 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程序
04. LNMP架构工作原理
参见图示
05. 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
phpinfo();
?>
第二个历程: php + mariadb建立联系 编写代码信息
vim test_mysql.php
<?php
$servername = "localhost";
$username = "root";
$password = "oldboy123";
//$link_id=mysql_connect('主机名','用户','密码');
//mysql -u用户 -p密码 -h 主机
$conn = mysqli_connect($servername, $username, $password);
if ($conn) {
echo "mysql successful by root !\n";
}else{
die("Connection failed: " . mysqli_connect_error());
}
?>
浏览器访问: blog.oldboy.com/test_mysql.php
06. 部署搭建动态网站页面
第一个历程: 下载获取动态网站代码信息
博客网站开源代码: 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 'oldboy123';
select user,host from mysql.user;
07. 课程知识总结:
1. nginx 地址跳转功能 uri/url
2. LNMP架构部署和配置过程
3. 利用LNMP架构搭建动态网站
作业:
01. 总结数据库常用的SQL语句 不用分享
02. php7.1程序服务如何编译安装
03. 下载一个大小超过1M主题压缩包, 进行修改主题
vim /etc/nginx/conf.d/blog.conf
client_max_body_size 2m;
04. 负载均衡服务