一、LNMP部署动态网站
1.1安装LNMP 环境
部署linux
部署nginx
部署php
部署mysql
这里只讲部署php和mysql
1.1.1部署php
rpm部署php:
yum install -y php-fpm php-mysql php-gd
开启,systemctl start php-fpm
开机自启 systemctl enable php-fpm
开启后我们测试一下
-
在**/usr/share/nginx/html**下创建一个php型的文件,用来测试php是否安装成功。
-
修改配置文件
/etc/nginx/conf.d/default.conf
注释掉原来的。
-
测试
打开浏览器
1.1.2MySQL部署
安装mysql服务器和客户机程序:
yum -y install mariadb-server mariadb
启动MySQL: systemctl start mariadb
开机自启:systemctl enable mariadb
修改mariadb 密码为123456:
mysqladmin password '123456’
准备数据库:
create database bbs;
授权用户:
grant all on bbs. to phptest@‘服务器IP’ identified by ‘数据库密码’;*
测试
在**/usr/share/nginx/html/index.php**里写入:
浏览器访问时,nginx会把.php文件丢给php处理,php把文件转换成html文件后再给nginx
测试结果:
接下来我们再LNMP环境下部署一个动态网站
1.2LNMP部署动态网站
1.下载动态网站包
wget https://cn.wordpress.org/wordpress-4.9.1-zh_CN.zip
也可以到官网去下最新版
2.删除**/usr/share/nginx/html** 下的所有文件,只留下网站的所有文件。
3.授权
对网站所有文件进行授权:
chown -R nginx.nginx /usr/share/nginx/html/
chmod -R 777 /usr/share/nginx/html/*
补: 导入数据到数据库里:
4.测试
打开浏览器进行测试
安装完成后的主页面:
二、Nginx location
在设置location时,后面是个正则表达式,匹配相关的页面。
2.1介绍
语法:
location 正则表达式匹配一些页面, {
具体针对匹配到的页面做的事情 (模块)
}
在设置location时,后面是个正则表达式,匹配相关的页面。
例:
补:
如果在 /usr/share/nginx/html 里创建一个文件 ,例如 1.html 那么 在浏览器访问时,直接在IP后面加上这个页面就可以访问。
2.2Nginx location 优先级
在设置location时,后面是个正则表达式,匹配相关的页面。
正则表达式也分等级
= > ^~ > /
举例:
接下来通过浏览器访问进行验证:
说明 = 的优先级更高
三、Nginx Rewrite
在设置location时,后面是个正则表达式,匹配相关的页面
3.1简介
-
URL Rewrite最常见的应用是URL伪静态化,是将动态页面显示为静态页面方式的一种技术。比如
http://www.123.com/news/index.php?id=123 使用URLRewrite 转换后可以显示为 http://www.123
.com/news/123.html对于追求完美主义的网站设计师,就算是网页的地址也希望看起来尽量简洁明快。
理论上,搜索引擎更喜欢静态页面形式的网页,搜索引擎对静态页面的评分一般要高于动态页面。所
以,UrlRewrite可以让我们网站的网页更容易被搜索引擎所收录。 -
从安全角度上讲,如果在URL中暴露太多的参数,无疑会造成一定量的信息泄漏,可能会被一些黑客
利用,对你的系统造成一定的破坏,所以静态化的URL地址可以给我们带来更高的安全性。 -
实现网站地址跳转,例如用户访问360buy.com,将其跳转到jd.com。
3.2相关指令
语法:
- rewrite:即将访问的用户地址 更换成指定的地址
- location { rewrite } 只能替换url中的目录路径, 使用if (){rewrite}可以替换协议主机目录全部能容。
3.3示例
3.3.1
1.目的:
当用户访问http://192.168.148.152/a/1.html 地址时,
通过redirect 重定向至http://192.168.148.152/a/2.html
2.编写rewrite
3.测试
3.3.2
1.目的
location { rewrite } 只能替换url中的目录路径,
使用if (){rewrite}可以替换协议主机目录全部能容。
将http://www.qianfeng.com
换http://jd.com
2.编写rewrite
做域名解析:
3.测试
3.3.3
1目的
目录的表达方式发生变化。
原先的“-”分割,变成了“/"目录层次。
2.编写rewrite
3.测试
3.3.4
1.目的
如果访问服务器中的特殊文件。如:.sh结尾的文件。则返回403操作拒绝错误。
2.编写rewrite
3.测试