Linux运维个人博客网站挂载
临时关闭防火墙永久关闭防火墙通过linux访问文本网页Nginx Rewrite1.什么是rewriteRewrite即URL重写, 主要实现url地址重写, 以及重定向, 就是把传入Web的请求重定向到其他URL的过程。2.Rewrite使用场景1.URL地址跳转,例如用户访问old.com将其跳转到new.com , 或者当用户通过http的方式访问hs.com时,将其跳转...
临时关闭防火墙
永久关闭防火墙
通过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相仿
更改目标的所有权限
实验结果
更多推荐
所有评论(0)