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 arp- 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 ~]# 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.ken1.com www.ken2.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/html/(打开这个目录,把京东压缩包放进去)
[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
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

猜你喜欢

转载自www.cnblogs.com/zp-1996/p/10922289.html