Hacklink panel

Hacklink Panel

Hacklink panel

Hacklink

Hacklink panel

Backlink paketleri

Hacklink Panel

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Illuminati

Hacklink

Hacklink Panel

Hacklink

Hacklink Panel

Hacklink panel

Hacklink Panel

Hacklink

Masal oku

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Masal Oku

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink

Hacklink Panel

Hacklink

Hacklink

Hacklink

Buy Hacklink

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink panel

Hacklink

Masal Oku

Hacklink panel

Hacklink

Hacklink

Hacklink

Hacklink satın al

Hacklink Panel

Postegro

royalbet

deneme bonusu ver3n siteler

Hacklink panel

cratosroyalbet

sezarcasino

grandpashabet

pulibet güncel

vdcasino

betebet

Hacklink satın al

Hacklink

pulibet güncel giriş

pulibet giriş

casibom

casibom

casibom

casibom

casibom

casibom

casibom

casibom

adapazarı escort

antalya dedektör

jojobet

jojobet giriş

casibom

casibom giriş

casibom

casibom

sapanca escort

deneme bonusu

betathome

betathome eingang

betathome login

piabellacasino

kingroyal

kingroyal güncel giriş

kingroyal giriş

kingroyal giriş

jojobet

jojobet giriş

Grandpashabet

INterbahis

AGB99

Agb99

taraftarium24

meritking

izmir escort

matbet

kingroyal

porno

sakarya escort

Hacking forum

Deneme Bonusu Veren Siteler

google

kingroyal

king royal giriş

kingroyal güncel giriş

king royal

mariobet

ikimisli

marsbahis

imajbet

bahsegel

deneme bonusu

imajbet

mariobet

marsbahis

imajbet

kingroyal

casibom

casibom

tlcasino

tambet

İkimisli

casibom

×

1.web服务nginx指令补充

1.1日志

  • 错误日志(error_log)
  • 访问日志(access_log)

1)错误日志

  • 指令error_log
error_log指令说明
语法格式:error_log file [level];
默认:error_log logs/error.log error;
上下文(放在哪个区域):main, http, mail, stream, server, location
  • 日志级别
debug, info, notice, warn, error, crit, alert, 或 emerg
最详细   >    >        >     >      >     >       最粗略

一般使用notice,调试测试的时候可以选用debug,线上生产环境禁用DEBUG级别

2)访问日志

  • log_format 定义访问日志的格式
  • access_log 类似于error_log指定日志的位置和格式
access_log指令说明
语法格式:access_log path [format [buffer=size] [gzip[=level]] [flush=time] [if=condition]];access_log off;
默认:access_log logs/access.log combined;
上下文(放在哪个区域):http, server, location, if in location, limit_except
log_format指令说明
语法格式:log_format name [escape=default|json|none] string …;
默认:log_format combined “…”;
上下文(放在哪个区域):http

1.2 location规则

  • location与if类似
  • location针对请求的URI进行判断和过滤
  • ngx中的if结合各种ngx变量实现判断
  • location只负责匹配请求路径,不关心文件是否存在。404 错误是在文件查找阶段产生的,不是location 匹配阶段。每个请求只会进入一个location,一旦找到匹配就立即停止搜索。
#报这些错误,指定50x.html错误页面
  error_page  500 502 503 504 /50x.html;
  location = /50x.html {
  #站点目录(/)
     root  /usr/share/nginx/html;
  }

1)案例1-改造小鸟飞飞站点

①目标

  • 给小鸟飞飞网站添加一个/admin/功能(页面).只能172.16.1.0/24访问
  • 搭建bird小鸟飞飞网站,给网站加速,设置缓存,网站中js,css结尾的文件缓存1天,图片缓存1小时。(浏览器缓存–>F12)
  • 指定错误404页面

②html,css,js前端三剑客

  • html,css,js 前端开发/静态资源—>只需要nginx就可以运行 浏览器解析
  • html 人(页面)
  • css 衣服(样式,排版)
  • js(JavaScript) 特效,皮肤(加简单的动态效果,eg:手机号身份证号是否合规的判断)
  • 测试
  • 把小鸟飞飞中的css,js压缩(不可用),看效果。测试完再解压缩恢复即可。
  • gzip:压缩
  • gzip -d:解压缩(-d decompress = 解压)

③缓存指令

缓存使用(浏览器缓存)
expires  1d;
expires  1h;
指令

2)小结

  • location /~~*/路径/
  • expires指令设置浏览器缓存,ngx优化项目之一
  • error_page 指定错误页面

1.3 nginx处理用户请求流程

文字描述:

  • 1.用户发出http请求(1个静态资源)
  • 首先做DNS解析(hosts解析),域名解析ip,与网站的80端口三次握手建立连接,发出http请求报文,到达网站的80端口,对应的是nginx服务,请求先到达ngx服务的主配置文件的http区域,会继续找include包含的子配置文件的server区域的80端口的站点(主配置文件也可能有serve区域),根据请求报文中的host与站点中的serve_name做对比,如果对应上了,则对应的站点处理,看请求中的URI符合哪个location规则,若都不符合,则location /保底;若不是动态资源(.php结尾),ngx自己处理(站点目录+URI返回(响应报文)给用户.有,返回200状态码;没有,返回错误状态码),连接留一会(预判用户还会请求),之后4次挥手断开连接。
  • 2.用户发出http请求(动态请求)
  • …,通过80端口到达ngx的http区域,会继续找include包含的子配置文件的server区域的80端口的站点,根据请求报文中的host与站点中的serve_name做对比,如果对应上了,则对应的站点处理,看请求中的URI符合哪个location规则,(.php结尾,location在处理时,要(传球)把请求发送给本地的9000端口,发的时候带着变量(文件的绝对路径:站点目录+URI)),php收到这些信息(包括用户名,密码),读取绝对路径的php文件(和数据库的用户名,密码做对比),对比成功,返回301/302跳转状态码(登陆之前和登陆之后的页面不一样)的响应报文给ngx,ngx再返回给用户,用户收到登录成功提示并且进入登录之后的页面。

1.4 nginx默认站点处理

  • 以上均是请求报文中的host与站点中的serve_name匹配上的情况。若匹配不上,或有人故意用你网站不存在的域名(他已提前做hosts解析)或ip访问,ip访问的话也不用做DNS解析了,与网站的80端口三次握手建立连接,发出http请求报文,通过80端口到达ngx的http区域,会继续找include包含的子配置文件的server区域的80端口的站点,根据请求报文中的host与站点中的serve_name做对比,若都匹配不上,看有没有默认站点处理(端口后含default_server指令),若有,则该站点处理;若没有,则子配置文件按字母排序,排在第一的站点处理(未来不确定谁在第一)。
  • host头可以改,所以host的信息不一定就是目标信息。
  • 例如:curl -H Host:lidao.baidu.com www.baidu.com(现在host头就是lidao…,所以百度的ngx子配置文件中肯定没有,就会走默认的站点(固定输出一个错误页面等))
[root@web01 ~]# cat  /etc/nginx/conf.d/default.conf
server {
  listen 80 default_server;
  server_name _;
  root /app/code/error;
  charset utf8;
  location / {
  index  404.html;
  }

# return 418;
}

2.动态网站架构

2.1动态?静态?

网站架构特点说明
动态资源服务端处理与加工,设计动态语言php,java,python,golang.rust..(后台,后端)一般需要数据库,服务端处理,结果给用户
静态资源服务端发送,客户端解析(html,css,js)前端客户端解析,服务端只负责发送,网站处理更快
混合用静态(前端开发),动态(后端) 全栈开发(前+后)
  • 之前的ngx部署小游戏:静态网站
  • 动态网站架构如下:
常见动态网站架构说明
lnmp(php代码)linux系统,nginx(web服务),mysql(数据库,postgresql),php环境(动态语言)—php代码就是php解释器(环境)运行的;java代码是tomcat(环境)
lnmtlinux系统,nginx(web服务),mysql(数据库,postgresql),tomcat(java)
lnm?linux系统,nginx(web服务),mysql(数据库,postgresql),什么语言(python,golang..)
  • 补充:l–>Linux系统 w–>windows系统 n–>nginx a–>apache
  • 工作场景:
  • 开发书写了一个php代码,java,Python,Golang 发给我们部署下。
  • 1.测试能否直接部署到nginx中?
  • 2.需要什么服务?是什么原理?
  • 3.准备服务并测试
  • 4.部署代码

2.2.项目01-lnmp环境部署在2台机器

1)环境准备(新的)

角色主机与ip
nginx+phpweb01 10.0.0.7/172.16.1.7
数据库(mariadb)db01 10.0.0.51/172.16.1.51

服务版本的选择:

  • ngx一般没有版本要求,稳定即可(ngx 1.26.xx)
  • php的版本要求,根据代码来定(https://wordpress.org/download/)
  • Recommend PHP 8.3 or greater and MySQL version 8.0 or MariaDB version 10.6 or greater.
  • 数据库: 用什么和什么版本也要根据代码要求,mariadb
  • 部署wordpress
  • nginx 1.26.1
  • php 8.0
  • mariadb 10.3

2)数据库

  • web01机器–>mariadb
yum install -y  mariadb-server
# mariadb-server 服务端
# mariadb 客户端

systemctl enable mariadb
systemctl start mariadb

#检查
ss -lntup |grep mysql   #3306端口
ps -ef |grep mysql  
  • 数据库安全配置(SQL语句实现,现在它通过mysqlSQL语句实现)
mysql_secure_installation  #仅仅刚安装的时候运行.仅首次运行即可.
用于设置root密码,清理用户和清理临时库.

Enter current password for root (enter for none): 回车

Set root password? [Y/n]  Y  #设置密码(lidao)


New password:  输入密码
Re-enter new password:  再次输入
Password updated successfully!
Reloading privilege tables..
 ... Success!


Remove anonymous users? [Y/n]  Y  #删除数据库中的匿名用户(没有用户名的用户,容易导致安全问题)


Disallow root login remotely? [Y/n] Y  #是否禁止root(数据库的root)远程登录

Remove test database and access to it? [Y/n] Y  #是否删除test测试用的数据库

Reload privilege tables now? [Y/n]  Y   #是否更新权限信息表

Linux系统的root与数据库的root区别:

  • 1️⃣2个独立的用户
  • 2️⃣linux的root用户用于进入和管理整个linux系统
  • 3️⃣数据库的root用户仅仅用于管理MySQL数据库

⑤小结

  • SQL语句
  • ⭐查看:show,select 查看数据库,查看用户
  • ⭐增加:创建数据库,创建用户
  • 删除:删除用户,删除数据库
  • 测试连接 mysql -u -p -h
  • -u用户名
  • -p密码
  • -h 指定数据库服务器ip

3)web01安装php

  • php8.0版本
#1.清理已有的php软件包
# systemctl stop  php-fpm
# yum -y remove php*

#2.安装软件包
yum -y install php php-bcmath php-cli php-common php-devel php-embedded php-fpm php-gd php-intl php-mbstring php-mysqlnd php-opcache php-pdo   php-process php-xml php-json

#3.检查与开机自启动
[root@web01 ~]# rpm -qa|grep php|wc -l  #检查软件包数量
15
[root@web01 ~]# rpm -ql php-fpm|grep systemd  #检查服务名(systemctl管理)
/usr/lib/systemd/system/php-fpm.service
......
[root@web01 ~]# systemctl enable --now php-fpm
[root@web01 ~]# ps -ef|grep php-fpm  #进程的用户名(需修改和nginx服务的虚拟用户一致)
root       20305       1  0 21:45 ?        00:00:00 php-fpm: master process (/etc/php-fpm.conf)
apache     20306   20305  0 21:45 ?        00:00:00 php-fpm: pool www
apache     20307   20305  0 21:45 ?        00:00:00 php-fpm: pool www
apache     20308   20305  0 21:45 ?        00:00:00 php-fpm: pool www
apache     20309   20305  0 21:45 ?        00:00:00 php-fpm: pool www
apache     20310   20305  0 21:45 ?        00:00:00 php-fpm: pool www
[root@web01 ~]# ss -lntup |grep php  #查看无端口

#4.修改配置文件进程用户(apache-->nginx)
[root@web01 ~]# rpm -ql  php-fpm
/etc/php-fpm.conf   #主配置文件
/etc/php-fpm.d
/etc/php-fpm.d/www.conf   #子配置文件(修改的目标)
....
[root@web01 ~]# grep -i 'include=' /etc/php-fpm.conf   #检查子配置文件的位置
include=/etc/php-fpm.d/*.conf
[root@web01 ~]# egrep  '^listen|^user|^group' /etc/php-fpm.d/www.conf 
修改这3个为
user = apache   #改为nginx
group = apache   #改为nginx
listen = /run/php-fpm/www.sock  #改为127.0.0.1:9000
....

#5.修改后检查
[root@web01 ~]# egrep  -n '^(listen =|^user|^group)' /etc/php-fpm.d/www.conf 
24:user = nginx
26:group = nginx
38:listen = 127.0.0.1:9000  #nginx访问9000端口(用户请求-->ngx,ngx把请求-->9000端口),nginx和php在一台机器上,效果等于localhost

#6.检查语法
php-fpm -t  #看是否有successful

#7.重启服务或reload服务都行
systemctl reload  php-fpm.service

①php配置小结

  • 安装
  • 配置指定nginx用户
  • 启动

4)nginx配置

5)部署代码与设置权限

在Windows下的位置:E:\q群下载\web相关的游戏代码
#1.下载
rz上传或拖拽到家目录

#2解压之前先看一下(有没有多一层目录)
[root@web01 ~]# unzip -t wordpress-6.8.3-zh_CN.zip |grep index.php
    testing: wordpress/wp-admin/index.php   OK
    testing: wordpress/wp-admin/user/index.php   OK
    testing: wordpress/wp-admin/network/index.php   OK
    testing: wordpress/index.php      OK   #多了一层
    testing: wordpress/wp-content/plugins/index.php   OK
    testing: wordpress/wp-content/plugins/akismet/index.php   OK
    testing: wordpress/wp-content/themes/twentytwentytwo/index.php   OK
    testing: wordpress/wp-content/themes/index.php   OK
    testing: wordpress/wp-content/index.php   OK
    testing: wordpress/wp-includes/sitemaps/class-wp-sitemaps-index.php   OK
    testing: wordpress/wp-includes/blocks/index.php   OK

#3.创建好站点目录
[root@web01 ~]# mkdir -p /app/code/blog

#4.解压到当前目录
[root@web01 ~]# unzip wordpress-6.8.3-zh_CN.zip

#5.把目录下的内容移动到站点目录(只要这个目录下内容,不要目录)
[root@web01 ~]# mv wordpress/*  /app/code/blog/

#6.配置站点目录写权限(修改所有者,用户组)--ngx,php有动态语言之后会对此目录进行读写操作
chown -R nginx.nginx  /app/code/blog/  #权限给的还有些大,未来再精简

#7.windows做hosts解析
写入sublime保存即可:10.0.0.7  blog.oldboy.cn

#8.浏览器输入blog.oldboy.cn域名访问即可

6)登录

  • 安装WordPress后,成功,再查看blog数据库,自动创建好了以下表信息。

7)写文章测试

总结

  • 动态网站架构lnmp的使用,部署wordpress博客(PHP代码写的)
  • 错误日志,访问日志
  • 访问日志的内容(分析)
  • location规则

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

作者

2632782425@qq.com

相关文章

helm入门

1.1helm概述 1)什么是helm? 2...

读出全部

k8s部署医疗服务

1)编写资源清单并提交到gitee 2)je...

读出全部

hpa实战

1.部署修仙业务,要求副本数量为1;2.使用...

读出全部
romabetmegabahissonbahissonbahis girişbetvolebetvole girişmarsbahismarsbahis girişcasibomcasibom girişcasibom güncel girişcasibomcasibom girişcasibom güncel girişmarsbahismarsbahis girişizmir escortbetvolebetvole girişbetvole güncel girişbetvolebetvole girişbetvole güncel girişhacklink satın al