重生之我要学渗透

第十二章.LNMP

Nginx

nginx 一个高性能的http服务器 反向代理服务器 世界访问量第二

tengine 是由淘宝网发起的web服务器项目 nginx的基础上进一步开发 The Tengine Web Server

Nginx安装

执行命令添加源:

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

安装Nginx

yum install -y nginx

systemctl start nginx.service

systemctl enable nginx.service

systemctl status nginx.service

nginx配置文件

配置文件目录 /etc/nginx

nginx主配置文件 /etc/nginx/nginx.conf

nginx网站根目录 /usr/share/nginx’

user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;

# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;

events {
    worker_connections 1024;
}

http {
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile            on;
    tcp_nopush          on;
    tcp_nodelay         on;
    keepalive_timeout   65;
    types_hash_max_size 2048;

    include             /etc/nginx/mime.types;
    default_type        application/octet-stream;

    # Load modular configuration files from the /etc/nginx/conf.d directory.
    # See http://nginx.org/en/docs/ngx_core_module.html#include
    # for more information.
    include /etc/nginx/conf.d/*.conf;

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {

        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

 

通过ngnix构建静态网站

/usr/share/nginx/html 创建页面 hello world

echo "hello word" >> 1

 

 

 

通过ngnix构建动态网站

lnmp

mysql

yum -y install mariadb mariadb-server

systemctl start mariadb 启动

mysqladmin -u root password 初始化root密码

mysql -uroot -p

php

yum -y install php-fpm php php-mysqlnd php-gd libjpeg* php-ldap php-odbc php-pear php-xml

vim /etc/php-fpm.d/www.conf

 

systemctl start php-fpm

systemctl enable php-fpm

phpinfo测试

在根目录下创建phpinfo页面

cd /usr/share/nginx/html

vim 1.php

<?php 
phpinfo();
?>

赋予权限

chown -R nginx:nginx /usr/share/nginx/html/

安装 - LNMP一键安装包

因为在做phpinfo实验时不知道哪里出现了错误,所以又用网上的一键安装包重新安装了一遍,然后这个的话网页的根目录被重置在了/home/www/default目录下,这个要注意一下。

apache 和ngnix区别

nginx 优势

开源

nginx 配置系统相对简单

nginx pdf zip html mp4 mpeg jpg gif png 静态文件处理 性能较好

nginx 处理任何web应用程序流量,大多数的应用程序提供了配置指南

与apache相比 并发连接,响应事件 资源使用方面更强

ninix能使网站更快

apache 优势

开源

灵活 存在动态模块

更加兼容unix操作系统 ms windows

更庞大的社区

与任何编程语言兼容 对静态文件有最佳的交付能力

特征NGINXAPACHE
简单NGINX 的开发和创新很复杂,因为它具有复杂的架构来同时处理多个连接。Apache 很容易开发,因为它的每个进程一个连接的模型。
操作系统支持NGINX 在类 Unix 系统上运行,但对 Windows 的支持有限。Apache 兼容所有类 Unix 系统,如 Linux、BSD 等,并且完全支持 Windows。
基本架构Nginx 遵循事件驱动/单线程方法来处理客户端请求 Nginx 在一个线程中处理多个请求Apache 遵循进程驱动/多线程方法来处理客户端请求。
静态内容NGINX 可以同时运行数千个静态内容连接,速度比 Apache 快 2.5 倍。在 Apache 中,为每个请求创建一个新线程 Apache 显示静态内容的速度较慢。
动态内容NGINX 不处理动态内容。Apache 在 Web 服务器本身内处理动态内容。
交通处理NGINX 可以在流量大的情况下同时有效地处理多个客户端请求。Apache 无法同时处理多个客户端请求以及繁重的 Web 流量。
内存消耗Nginx 使用有限的硬件资源来处理客户端请求并且消耗更少的内存Apache的内存消耗更多。
用法NGINX 被开发为既是 Web 服务器又是反向代理服务器。Apache 被开发为 Web 服务器。
集中配置NGINX 有一个相对简单的配置系统。 Nginx 不允许额外的配置。Apache 中的配置系统并不是那么简单。 Apache 允许通过 .htaccess 文件在每个目录的基础上进行额外配置。
请求口译Nginx 通过 URI(统一资源标识符)来解释客户端请求。Apache 传递文件系统位置来解释客户端请求。
安全Nginx 以更小的代码库提供更好的安全性。Apache 还提供了良好的安全性,但与 Nginx 相比,它的安全性较低。此外,Apache 的代码库非常高。
功能模块NGINX 的核心版本不支持动态模块,但 NGINX plus 是 NGINX 的付费版本,支持动态模块。 模块的加载和卸载很复杂。Apache 由可以关闭/打开的动态加载模块组成。 apache中模块的加载和卸载更简单
支持NGINX 由成立于 2011 年的 NGINX, Inc 公司处理。社区支持通过 IRC(Internet 中继聊天)、邮件列表和堆栈溢出来完成。Apache 服务器由来自世界各地的用户社区处理,并由 Apache 软件基金会协调。社区支持通过 IRC、邮件列表、堆栈溢出和论坛完成。

 

正向代理与反向代理

正向代理 位于客户端 目标服务器 之间的代理服务器为了从原始服务器获取内容,客户端向代理服务器发出请求指定目标服务器 由代理服务器转交 将获取的内容返回给客户端,用于隐藏客户端的ip。

反向代理 以代理服务器接受公网请求,转发给内部网络的服务器,并将从服务器上得到的结果,返回给客户端,对外表现更像一个服务器。用于隐藏内部服务器的ip。

在实际中,正向代理与反向代理是可以同时出现的

集群

单台服务器不能满足需求,需要多台服务器集群,集群就可以用反向代理

seLinux

系统管理员 一般无法通过用户 群组 其他权限 的标准访问策略来生成 精细的安全策略

强制访问控制 每个进程或资源都有一个特的安全标签 selinux 安全标签 安全上下文

 

selinux优势

所有进程和文件都会被标记 selinux策略规则定义 进程如何与文件交互 以及进程如何互相交互

精细的访问控制 普通的Linux权限规则 基于用户与组 seLinux基于所有可用信息

selinux 由系统管理员进行定义 在系统范围内强制实施

selinux 不是防病毒软件 不能替代其他安全系统

selinux状态模式

(37条消息) CentOS 7.x 重新启用SELinux,系统无法启动开机提示selunix autorelabel学习是一种能力的博客-CSDN博客

enforcing 强制 在整个系统中强制载入安全策略

permissive 宽容 会像强制模式一样 载入安全策略 不会拒绝任何操作 标记对象记录日志

disabled 禁用模式

开启selinux 方式

vim /etc/selinux/config

 

 

重启系统

getenforce

setenforce 0

setenforce 1

ls -Z 查看文件安全上下文

ps auxZ | grep httpd 查看进程的安全上下文

 

ls -Zd /root 查看目录的安全上下文

 

 

 

安全上下文通过:分割,最后一个字段时可选的

system_u:object_r:admin_home_t:s0 : [类别]

身份字段:角色 : 类型 :灵敏度 : 【类别】

身份字段标识该数据被哪个身份拥有

seinfo -u 列出selinux所有身份

角色 标识此数据 是进程or文件or目录

object_r 数据是文件or 目录

system_r 表示数据是进程

seinfo -r 列举出所有角色

类型

类型字段是selinux中最主要的字段,进程是否可以访问文件,主要看的是安全上下问中类型是否匹配。

seinfo -t 列出selinux中所有类型

灵敏度

灵敏度 s0 s1 s2 数值越高 灵敏度越高

类别 类别字段 不是必须有的

使用 SELinux Red Hat Enterprise Linux 8 | Red Hat Customer Portal

这个实验的话,不太建议去做,因为不知道为啥会使虚拟机黑屏()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值