课程知识回顾
1. location的配置方法
1)作用:
可以匹配指定的uri信息,根据匹配做出不同的处理方案
2)如何匹配uri信息
= 精确匹配
~ 模糊匹配uri信息(区分大小写)
~* 模糊匹配uri信息(不区分大小写)
^~ 优先匹配/不识别扩展正则
/ 默认匹配
/目录/ 匹配指定目录.显示此目录的主页文件
3)return指定状态码跳转,根据不同状态码做出相应的处理
location /abc.html {
return 301 http://www.oldboy.com/oldboy.jpg;
}
总结:
1) 有多个location时,需要有一个默认的location
2) 指定的uri信息必须存在
3) 当uri信息不存在时,可以return跳转
2. rewrite跳转的配置方法
1)原理: 客户端浏览器访问地址a---web服务器---浏览自动处理--跳转后的地址b
2) 跳转的四种方式:
last 用户端访问跳转后地址会重新发起访问(uri信息不会改变)
break 用户访问会直接得到跳转后的信息(uri信息不改变)
redirect 临时跳转 (url/uri信息会改变)
permanent 永久跳转 (url/uri信息会改变)
临时跳转: 用户浏览器不做记录保存(uri信息)
永久跳转: 做保存记录跳转信息(url信息)
LNMP架构说明
LNMT: linux nginx mysql tomcat
LNMP: linux nginx mysql php/python
LAMP: linux apache mysql php
作用: 可以使用架构处理动态访问请求
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程序
LNMP架构工作原理
image.png
image.png
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());
}
?>
部署搭建动态网站页面
第一个历程: 下载获取动态网站代码信息
博客网站开源代码: 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 'root'@'localhost' identified by 'oldboy123';
select user,host from mysql.user;