zoukankan      html  css  js  c++  java
  • Linux中Apache(http)和LAMP架构(重点)

    apache介绍:
    世界上使用率最高的网站服务器,最高时可达70%;官方网站:apache.org
    :80 — 端口 http对应80端口,https对应443端口
    LAMP安装说明
    ①源码包安装  自定义 开发版本选择方便 效率高
    生产环境 安全 稳定
    开发环境 局域网(内网)
    ②二进制包安装 yum命令安装 官方版本比较低
     
    apache三种工作模式:
    1、prefork 工作模式(作用:用一个进程处理一个用户请求)
    优点:成熟稳定,兼容所有新老模块。同时,不需要担心线程安全的问题。
    缺点:一个进程相对占用更多的系统资源,消耗更多的内存。而且,它并不擅长处理高并发请求。
     
    2、worker 工作模式(作用:一个进程生成多个线程,一个线程处理一个用户请求)
    优点:占据更少的内存,高并发下表现更优秀。
    缺点:必须考虑线程安全的问题。
     
    3、event 工作模式
    它和worker模式很像,最大的区别在于,它解决了keep-alive场景下,长期被占用的线程的资源浪费问题。event MPM中,会有一个专门的线程来管理这些keep-alive类型的线程,当有真实请求过来的时候,
    将请求传递给服务线程,执行完毕后,又允许它释放。这样增强了高并发场景下的请求处理能力。
     
    apache基本信息
    apache为企业中常用的web服务,用来提供http://(超文本传输协议)
    主配置目录:/etc/httpd/conf
    主配置文件:/etc/httpd/conf/http.conf
    子配置目录:/etc/httpd/conf.d
    子配置文件:/etc/httpd/conf.d/*.conf
    默认发布目录:/var/www/html/
    默认发布文件:index.html
    默认端口:80
     
    服务器的返回状态值(常用的六个记住)
    200:ok,请求下载成功(正常)
    304:not modified,标识一个缓存的资源是否发生过更改(正常)
    403:forbidden,表示客户端没有权限访问所请求的资源(表示没有权限,加权限)
    404:Not Found,表示客户端所请求的资源不存在(有可能路径不对)
    500:Internal Server Error,服务器内部错误
    502:Bad Gateway,代理服务器从上游服务器获取到的是伪响应
     
    编译安装Apache(http)(首先对apr apr-util httpd  进行编译安装)
    首先需要老师发四个安装包
    apr-1.5.2.tar     apr-util-1.5.4.tar      httpd-2.4.20.tar      jd
     
    1.编译安装apr:
    第一步:上传相关的软件包
    [root@ken ~]# ls
    apr-1.5.2.tar.gz apr-util-1.5.4.tar.gz httpd-2.4.20.tar.gz
     
    第二步:解压
    [root@ken ~]# tar xf apr-1.5.2.tar.gz
    [root@ken ~]# tar xf apr-util-1.5.4.tar.gz
    [root@ken ~]# tar xf httpd-2.4.20.tar.gz
     
    第三步:进入安排apr解压目录,进行编译
    [root@ken ~]# cd apr-1.5.2
    [root@ken apr-1.5.2]# ./configure –prefix=/usr/local/apr
     
    第四步:解决依赖(首先下载编译器)
    [root@ken apr-1.5.2]# yum install gcc -y
     
    第五步:继续编译
    [root@ken apr-1.5.2]# ./configure –prefix=/usr/local/apr
     
    第六步:安装
    [root@ken apr-1.5.2]# make && make install
     
    2.编译安装apr-util:
    第一步:进入并开始编译
    [root@ken ~]# cd apr-util-1.5.4
    [root@ken apr-util-1.5.4]# ls
     
    第二步:开始编译
    [root@ken apr-util-1.5.4]# ./configure –with-apr=/usr/local/apr –prefix=/usr/local/apr-util  #需要制定apr位置
     
    第三步:编译安装
    [root@ken apr-util-1.5.4]# make && make install
     
    3.编译安装httpd :
    第一步:进入解压文件并开始编译
    [root@ken httpd-2.4.20]# ./configure --prefix=/usr/local/httpd2.4   (加符号 ,进行转行表示还没有写完)
    --with-apr=/usr/local/apr
    --with-apr-util=/usr/local/apr-util
    --enable-cache
    --enable-deflate
    --enable-ssl
    --enable-rewrite
    --with-mpm=event
     
    第二步:解决依赖(如果直接安装会提示缺少依赖)(首先解决编译文件中的依赖pcre    openssl)
    [root@ken httpd-2.4.20]# yum install pcre pcre-devel -y
    [root@ken httpd-2.4.20]# yum install openssl openssl-devel -y
     
    第三步:安装
    [root@ken httpd-2.4.20]# make && make install
     
     
    完成了编译安装apr  apr-util  httpd ,接下来就可以安装编译安装apache(http)
     
     
    编译安装的apache常用操作:
    首先进入 [root@ken httpd-2.4.20]# cd /usr/local/httpd2.4
     
                   [root@ken httpd-2.4.20]#  ls
     
                   [root@ken httpd-2.4.20]#  cd bin
     
                   [root@ken bin]# ./apachectl  start(启动http)
     
                   [root@ken bin] # ss  -tnl(查看80端口开了没有)
     
                    [root@ken bin]# ./apachectl  stop(停止http)
     
                    lsof  -i   :80(查看80端口是否被占用)
     
    apache配置文件常用参数
     Listen 80
    User apache
    Group apache
    DocumentRoot “/var/www/html”
    DirectoryIndex index.html
     
    基于端口创建虚拟主机
    第一步:修改配置文件
    [root@ken ~]# yum install httpd -y
    [root@ken ~]# vim /etc/httpd/conf/httpd.conf(在末行输入)
    <VirtualHost *:81>(定义端口)
    DOCUMENTROOT /var/www/zp1
    DIRECTORYINDEX index.html
    < /VirtualHost>
    <VirtualHost *:82>(定义端口)
    DOCUMENTROOT /var/www/zp2
    DIRECTORYINDEX index.html
    < /VirtualHost>
     
    然后查找Listen
    输Listen 80
        Listen 81
        Listen  82
     
    第二步:创建网站根目录
    [root@ken ~]# mkdir /var/www/zp{1,2}
     
    第三步:创建网页首页文件
    [root@ken ~]# echo “111” >> /var/www/zp1/index.html
    [root@ken ~]# echo “hello world” >> /var/www/zp2/index.html
     
    第四步:重启apache
    [root@ken ~]# systemctl restart httpd
     
    第五步:linux中访问
    [root@ken ~]# curl 192.168.221.123:81
    111
    [root@ken ~]# curl 192.168.221.123:82
    hello world
     
    基于域名创建虚拟主机
    第一步:修改配置文件
    [root@ken ~]# vim /etc/httpd/conf/httpd.conf
    <VirtualHost 192.168.221.123>
    DOCUMENTROOT /var/www/zp1
    DIRECTORYINDEX index.html
    servername www.zp1.com
    < /VirtualHost>
    <VirtualHost 192.168.221.123>
    DOCUMENTROOT /var/www/zp2
    DIRECTORYINDEX index.html
    servername www.zp2.com
    < /VirtualHost>
     
    第二步:创建网站根目录
    [root@ken ~]# mkdir /var/www/zp{1,2}
     
    第三步:创建网页首页文件
    [root@ken ~]# echo “111” >> /var/www/zp1/index.html
    [root@ken ~]# echo “hello world” >> /var/www/zp2/index.html
     
    第四步:重启apache
    [root@ken ~]# systemctl restart httpd
     
    第五步:解析域名
    [root@ken www]# vim /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    192.168.221.123 www.zp1.com www.zp2.com(在另一行输入)
     
    第六步:linux中访问
    [root@ken www]# curl www.zp1.com
    111
    [root@ken www]# curl www.zp2.com
    hello world
     
    apache上线静态网站
    第一步:关防火墙
    [root@ken www]# systemctl stop firewalld
    [root@ken www]# setenforce 0
     
    第二步:下载httpd
    [root@ken ~]# yum install httpd -y
     
    第三步:上传京东安装包至网站根目录之下
    [root@ken ~]# cd /var/www/zp1(打开这个目录,把京东压缩包放进去)
    [root@ken html]# ls
    [root@ken html]# rz
     
    [root@ken html]# ls
    jd.zip
    [root@ken html]#
     
    第四步:下载unzip并解压
    [root@ken html]# yum install unzip -y
    [root@ken html]# unzip jd.zip
    [root@ken html]# ls
    jd jd.zip
     
    第五步:启动httpd
    [root@ken html]# systemctl restart httpd
     
    第六步:游览器访问
     
     
    apache上线动态网站(公司基本都是动态网站,静态网站很少)
    动态网站需要下载数据库,有一个单独的数据库
     
    第一步:需要先部署LAMP架构(重点)
    [root@ken jd]# yum install httpd php php-mysql mariadb-server -y
     
     
    第二步:启动apache和数据库
    [root@ken jd]# systemctl restart httpd mariadb
     
     
    第三步:上传安装包并解压(上传老师给发的压缩包)
    [root@ken html]# ls
    wordpress-3.3.1-zh_CN.zip
    [root@ken html]# unzip wordpress-3.3.1-zh_CN.zip
     
     
    第四步:复制wordpress文件到本目录下
    [root@ken html]# cp wordpress/* . -a
    [root@ken html]# ls
     
     
    第五步:配置数据库文件
    [root@ken html]# cp wp-config-sample.php wp-config.php(复制文件并为其改名)
    [root@ken html]# vim wp-config.php
    /** WordPress 数据库的名称 */
    define(‘DB_NAME’, ‘pan’);
     
    /** MySQL 数据库用户名 */
    define(‘DB_USER’, ‘pan’);
     
    /** MySQL 数据库密码 */
    define(‘DB_PASSWORD’, ‘123’);
     
     
    第六步:配置数据库
    [root@ken html]# mysql -uroot
    Welcome to the MariaDB monitor. Commands end with ; or g.
    Your MariaDB connection id is 2
    Server version: 5.5.56-MariaDB MariaDB Server
    Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.
    Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.
    MariaDB [(none)]> create database pan;
    Query OK, 1 row affected (0.00 sec)
    MariaDB [(none)]> grant all on *.* to pan@’localhost’ identified by ‘123’;
    Query OK, 0 rows affected (0.01 sec)
    MariaDB [(none)]> exit
    Bye
     
     
    第七步:访问网站
    在游览器上输192.168.221.123
     
     
     
  • 相关阅读:
    连接数据库的URL等于多少?
    警告: [SetContextPropertiesRule]{Context} Setting property 'source' to 'org.eclipse.jst.jee.server:20160928' did not find a matching property
    jsp页面中的问题:Date cannot be resolved to a type
    无法找到类:java.lang.ClassNotFoundException: com.tt.javaweb.HttpServletRequest问题解决
    Tomcat无法启动:org.apache.catalina.LifecycleException: Failed to start component 问题解决
    No Suitable Driver Found For Jdbc_我的解决方法
    "aa".equals(name)这种写法为什么就可以避免空指针
    Eclipse迁移到Android studio步骤如下:
    Android 开源框架Universal-Image-Loader完全解析(一)--- 基本介绍及使用
    Android 内存管理 &Memory Leak & OOM 分析
  • 原文地址:https://www.cnblogs.com/zp-1996/p/10922289.html
Copyright © 2011-2022 走看看