• Linux操作篇之LAMP(一)


    一、安装方式(centos7、apache、Mariadb、yum方式安装)

    1、因为是实验,先将SELinux、防火墙关闭

     2、apache

    yum -y install httpd httpd-devel(安装apache)

    systemctl start httpd(启动apache服务)

    systemctl status httpd(查看apache服务状态)

     netstat -anlp | grep httpd(查看apache服务端口状态)

     3、Mariadb

    yum  -y  install mariadb mariadb-server mariadb-libs mariadb-devel(安装)

    systemctl start mariadb(启动Mariadb服务)

    systemctl status mariadb(查看Mariadb服务状态)

    netstat -anlp | grep mysql(查看Mariadb服务端口状态)

     

     mysql_secure_installation(因为是刚刚安装的Mariadb,本身自带有一些测试数据,所以需要进行重置一下)

    4、安装php、php-mysql(关联php与mysql)以及php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath(php常用扩展)

    yum -y install php

    yum -y install php-mysql

    yum -y install php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath

    5、建立php测试网页,并重启apache服务,查看IP地址,登录测试网站

    二、安装时所需要的模块及作用

    1、Apache

    apr、apr-util(为解决大量用户访问而造成的阻塞问题。socket调度)

    pcre:用pcre来解决C语言中使用正则表达式的问题

    2、Mariadb

     mariadb-libs mariadb-devel(一些数据库的动静态库文件)

    3、PHP

    php-gd(图片处理)

    php-ldap(轻量级目录访问协议)

    php-odbc(数据库连接器)

    php-pear(PHP扩展和应用程序存储库)

    php-curl(lib库。用以支持各种传输协议)

    三、apache介绍

    apache是以进程为基础的,这样比以线程为基础的消耗更多的开支,不太适合多处理器环境。

    用户首先会通过自己PC的随机端口,访问apache服务器(如80、443)端口。服务器通过开启的子进程处理用户的访问请求,匹配用户的请求是动态还是静态请求(可以区分是否访问数据库来区别是否是静态访问请求)。

    apache有三种工作模式

    可以使用httpd -V查看

    /etc/httpd/conf.modules.d/00-mpm.conf

    1、prefork模式

    在apache服务启动时,会先启动一些子进程,每个子进程只有一个线程,同一时间点,一个子进程只能处理一个请求。

    优点:不需要担心线程问题。

    缺点:不适合处理高并发请求。

    2、worker模式

    使用多线程和多进程混合模式。每个子进程会创建一些线程,同时包括一个监听(管理)线程。线程会共享父进程的内存空间。

    优点:适用于高并发请求

    缺点:需要考虑线程安全问题

    3、event工作模式

    和worker模式很像,加入了keep-alive。一般在TCP连接断开后,守护进程会关闭这个http连接。当设置了keep-alive_timeout时间后,断开TCP连接并不会立马关闭http连接,而是经过一段时间之后再关闭这个http连接,在这个时间段内,可以多次传输数据,减少连接时间。同时也会减少系统内核的调用。

    但是,keep-alive_time如果配置不当,造成的损失更大,所以适当的配置keep-alive_time是非常重要的。

    文件位置

    /etc/httpd/conf/httpd.conf(主配置文件)

    /var/www/html(网页文件位置)

    /var/log/httpd/(日志文件)

    主配置文件参数

    ServerRoot(主目录)

    Listen(监听端口,可以填写某一网卡IP)

    LoadModule(加载的相关模块)

    ServerAdmin(管理员邮箱)

    ServerName(服务器名)

    ErrorLog(服务器错误日志)

    CustomLog(访问记录日志)

    IncludeOptional conf.d/*.conf(子配置文件)

    DirectoryIndex(默认访问的文件,按照前后顺序访问。不存在则跳过)

    DocumentRoot(主目录位置)

    Options Indexes FollowSymLinks(定义指定目录的权限,None没有任何额外的权限、All有所有权限)

    Options -Indexes(没有权限访问目录结构。“+”可以添加访问目录结构的权限。)

    FollowSymLinks(允许软连接到其他目录)

    Require all granted(访问控制)

    DirectoryIndex index.html(默认加载的页面)

    四、小实验

    1、目录别名、

    vi /etc/httpd/conf/httpd.conf

     vi /etc/httpd/conf.d/autoindex.conf

     2、用户认证

    需要启用.htaccess文件。

    提示信息

    加密方式

    密码文件(名称可自定义,但路径需要填写绝对路径)

    允许密码文件中的用户访问

     建立用户。(第一次建立使用-c选项,之后再建立用户使用-m选项,最后为密码文件,与.htaccess中的一致。)

    重启Apache服务,访问测试。

    3、虚拟主机(适用于一服务器部署多个网站的情况下)

    a、基于不同的域名

    httpd.conf文件,这里原本是index.html,我使用的是php环境,所以设置的为test.php

    会加载conf.d目录下所有.conf结尾的文件。

     新建一VirtualHost.conf文件名的文件

     两个网站的目录位置与所绑定的域名。还可以添加相关网站管理员的邮箱地址;和访问时产生的正常与错误日志存放位置等信息。

     网站目录位置建立测试文件

     

     没有DNS服务器,修改hosts文件,添加域名解析。

     

     重启apache服务,进行测试,显示成功。

    b、基于不同的端口号

    httpd.conf文件

     VirtualHost.conf文件,重启服务即可。

     

     c、基于不同的IP地址

     

     

     

     

  • 相关阅读:
    学习windows的半天+学习Git分布式系统的半天
    输出从1加到100的结果、打印100以内的质数、计算一个文件中的每个英文单词出现的次数
    Linux操作系统--初级--进程管理的命令
    Linux操作系统--初级--防火墙
    Linux操作系统--初级--dns服务
    Linux操作系统--初级--网络安全基础
    Linux操作系统--初级--进程管理
    Linux操作系统--初级--Linux网络
    Linux操作系统--初级--Linux磁盘管理
    Linux操作系统--初级--Linux的用户与用户组(权限管理)
  • 原文地址:https://www.cnblogs.com/641055499-mozai/p/13779714.html
Copyright © 2020-2023  润新知