临时关闭防火墙

在这里插入图片描述

永久关闭防火墙
在这里插入图片描述

通过linux访问文本网页

在这里插入图片描述

Nginx Rewrite

1.什么是rewrite

Rewrite即URL重写, 主要实现url地址重写, 以及重定向, 就是把传入Web的请求重定向到其他URL的过程。

2.Rewrite使用场景

1.URL地址跳转,例如用户访问old.com将其跳转到new.com , 或者当用户通过http的方式访问hs.com时,将其跳转至https的方式访问hs.com
2.URL伪静态, 将动态页面显示为静态页面方式的一种技术, 便于搜索引擎的录入, 同时减少动态URL地址对外暴露过多的参数, 提升更高的安全性。
3.搜索引擎SEO优化依赖于URL路径, 以便支持搜索引擎录入。
4.可以调整用户浏览的URL,看起来更规范,合乎开发及产品人员的需求。

防止恶意IP解析

server {
listen 80 default_server;
return 302 http://www.hs.com;
}

server {
listen 80;
server_name www.hs.com;
location / {
return 302 https:// s e r v e r n a m e server_name servernamerequest_uri;
}
}

LNMP的搭建和应用
LNMP的角色
LNMP就是Linux+Nginx+MySQL+PHP,
Linux作为服务器的操作系统
Nginx作为Web服务器
PHP作为解析动态脚本语言
MySQL即为数据库

Nginx服务本身不能处理PHP的请求,那么当用户发起PHP动态请求, Nginx又是如何进行处理的。
有两种方法:
1.将PHP页面的解析请求转发给Apache处理
2.将PHP页面的解析请求转发给php-fpm模块 *****
用户–>http协议–>Nginx–>fastcgi协议–>php-fpm

注意: fastcgi是nginx连接php-fpm之间的协议。

1.用户通过http协议发起请求,请求会先抵达LNMP架构中的Nginx
2.Nginx会根据用户的请求进行判断,这个判断是有Location进行完成
3.判断用户请求的是静态页面,Nginx直接进行处理
4.判断用户请求的是动态页面,Nginx会将该请求交给fastcgi协议下发
5.fastgi会将请求交给php-fpm管理进程, php-fpm管理进程接收到后会调用具体的工作线程wrapper
6.wrapper线程会调用php进行解析,如果只是解析代码php直接返回
7.如果有查询数据库操作,则由php连接数据库(用户 密码 IP)然后发起查询的操作
8.最终数据由mysql->php->php-fpm->fastcgi->nginx->http->user

#########

1.安装Nginx
#1.使用Nginx官方提供的rpm包

################################################
2.安装MySQL
原始步骤:
1.下载MySQL官方扩展源

rpm -ivh http://repo.mysql.com/yum/mysql-5.6-community/el/7/x86_64/mysql-community-release-el7-5.noarch.rpm

2.安装mysql5.6, 文件过大可能会导致下载缓慢

yum install mysql-community-server -y

实训步骤:
1.将mysql56.tar.gz通过xshell传到服务器上

mkdir /soft

cd /soft

2.解压缩

tar xf mysql56.tar.gz

3.安装mysql56(需要有yum库)

mount /dev/cdrom /mnt

yum install -y mysql5.6/*

3.启动数据库, 并加入开机自启动
[root@nginx ~]# systemctl start mysqld
[root@nginx ~]# systemctl enable mysqld

#4.由于mysql5.6默认管理员root的密码为空,服务器启动后,可以直接登录
[root@web01 ~]# mysql -uroot
……
mysql>

#5.为了安全,必须给root设置密码

mysqladmin -u root password 123.com

如果已经有密码,再次修改

mysqladmin -uroot -p123.com -password 123

#6.使用密码登陆mysql

mysql -uroot -p123.com


mysql>

注意:mysql是绝对不需要源码安装,所有的功能都是通过修改配置文件来实现。

####################

3.使用第三方扩展源安装php7.1
原版步骤:
#1.移除旧版php(之前有通过Base或epel库安装过php的,必须执行这个操作)

yum remove php-mysql-5.4 php php-fpm php-common

#2.安装扩展源

yum localinstall -y http://mirror.webtatic.com/yum/el7/webtatic-release.rpm

#3.安装php7.1版本

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

实训步骤:
#1.将php71.tar.gz通过xshell传到服务器上

mkdir /soft

cd /soft

#2.解压缩

tar xf php71.tar.gz

#3.安装php7.1

yum install -y php7.1/*

#4.启动php-fpm管理进程, 并加入开机自启

systemctl start php-fpm

systemctl enable php-fpm

查看9000端口是否开启

ss -lntp | grep :9000

#################
验证Nginx是否能正常解析php动态请求,以及php程序能否正常连接数据库
1.创建一个测试站点

vim /etc/nginx/conf.d/www.conf

server {
server_name www.hs.com;
listen 80;

location / {
	root /code/www;
	index index.php index.html;
}

location ~ \.php$ {
    root /code/www;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

2.新增info.php, 测试php解析是否工作正常

vim /code/www/test.php

<?php phpinfo(); ?>

3.测试php是否能连接mysql数据库服务[无论是本地数据库还是远程数据库,测试方式一致]

vim /code/www/mysql.php

<?php $servername = "localhost"; $username = "root"; $password = "123.com"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "连接成功"; ?>

LNMP环境搭建
1.确认yum库可用,建议使用本地光盘实现

mount /dev/cdorm /mnt

rm -rf /etc/yum.repos.d/*

vim /etc/yum.repos.d/cdrom.repo

[cdrom]
name=cdrom repo
baseurl=file:///mnt
enabled=1
gpgcheck=0

yum repolist

2.创建/soft,存放实训所需所有软件

mkdir /soft

cd /soft

使用xshell或xftp将所有软件传至/soft目录下

3.安装LNMP软件

cd /soft

tar xf mysql56.tar.gz

tar xf php71.tar.gz

yum localinstall -y nginx-1.16.0-1.el7.ngx.x86_64.rpm mysql5.6/* php7.1/*

在这里插入图片描述

在这里插入图片描述

4.启动mysql

systemctl start mysqld

systemctl enable mysqld

5.修改mysql管理员root的密码

mysqladmin -u root password 123.com

6.启动php-fpm

systemctl start php-fpm

systemctl enable php-fpm

7.修改www站点配置文件,添加支持php

vim /etc/nginx/conf.d/www.conf

server {
server_name www.hs.com;
listen 80;

location / {
root /code/www;
index index.php index.html;
}

location ~ \.php$ {
    root /code/www;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

在这里插入图片描述

8.重启nginx

systemctl restart nginx

9.创建测试页面,测试LNMP架构搭建成功

vim /code/www/test.php

<?php phpinfo(); ?>

vim /code/www/mysql.php

<?php $servername = "localhost"; $username = "root"; $password = "123.com"; // 创建连接 $conn = mysqli_connect($servername, $username, $password); // 检测连接 if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "连接成功"; ?>

10.客户端通过浏览器访问测试页面
http://www.hs.com/test.php
http://www.hs.com/mysql.php

在这里插入图片描述

在这里插入图片描述

LNMP应用二:博客
1.下载wordpress源码
2.解压缩源码

cd /soft

unzip wordpress-4.9.4-zh_CN.zip

3.将解压的目录中的所有内容拷贝或者剪切到指定站点目录下

cp -r wordpress/* /code/blog/

or

mv wordpress/* /code/blog/

4.创建所需数据库

mysql -uroot -p123.com

mysql> create database wordpress;
mysql> exit

5.修改权限
1)修改站点目录的所属,让nginx用户具有写权限(上传)

chown -R nginx /code/blog

2)修改php-fpm的程序用户为nginx

sed -i ‘s#apache#nginx#’ /etc/php-fpm.d/www.conf

6.修改blog的站点配置文件,添加支持php页面解析

vim /etc/nginx/conf.d/blog.conf

server {
……
location / {
root /code/blog;
index index.php index.html;
}

location ~ \.php$ {
    root /code/blog;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

}

7.重启nginx和php-fpm

systemctl restart nginx php-fpm

8.通过浏览器访问http://bbs.hs.com,根据页面提示完成安装

修改权限
更改文件权限

更改php权限

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

wecenter的挂载步骤,大部分步骤与上面的blog相仿

在这里插入图片描述

更改目标的所有权限

在这里插入图片描述

实验结果

在这里插入图片描述

Logo

更多推荐