小小千想和您聊一聊

当前位置: 首页> 技术分享> HTTP Server: Apache

HTTP Server: Apache

  HTTP Server

  ========================================================

  静态元素: .html .img js css swf mp4

  动态元素: .php .jsp .cgi .asp php SQL

  Web Server:

  Nginx(Tengine)、Apache、IIS

  Web 中间件:

  php: PHP-fpm、HHVM

  jsp: Tomcat、JBOSS、Resin、IBM WebSphere

  常见组合方式:

  LNMP (Linux + Nginx + MySQL + PHP) //php-fpm进程

  LAMP (Linux + Apache + MySQL + PHP) //php作为Apache的模块

  Nginx + Tomcat   //取代Apache与Tomcat结合

  ========================================================

      建议使用2.4及以上的版本

  ========================================================

  一、Apache基础

  Apache: www.apache.org

  软件包: httpd

  服务端口: 80/tcp(http) 443/tcp(https,http+ssl)

  配置文件: /etc/httpd/conf/httpd.conf

  /etc/httpd/conf.d/*.conf

  /etc/httpd/conf.d/welcome.conf //默认测试页面

  二、安装Apache

  [root@apache ~]# yum -y install httpd

  [root@apache ~]# systemctl start httpd

  [root@apache ~]# systemctl enable httpd

  网站主目录建立测试页:

  [root@apache ~]# vim /var/www/html/index.html

  tianyun

  [root@apache ~]# vim /var/www/html/2.php

  phpinfo();

  ?>

  192.168.31.154/index.html

  [root@apache ~]# sed -ri '/^SELINUX=/cSELINUX=disabled' /etc/selinux/config

  [root@apache ~]# setenforce 0

  [root@apache ~]# firewall-cmd --permanent --add-service=http

  [root@apache ~]# firewall-cmd --permanent --add-service=https

  [root@apache ~]# firewall-cmd --reload

  三、安装PHP

  [root@apache ~]# yum -y install php //php作为Apache的模块

  [root@apache ~]# ll /etc/httpd/modules/libphp5.so

  -rwxr-xr-x. 1 root root 4588368 Jun 24 2015 /etc/httpd/modules/libphp5.so

  [root@apache ~]# ll /etc/httpd/conf.d/php.conf

  -rw-r--r--. 1 root root 691 Jun 24 2015 /etc/httpd/conf.d/php.conf

  [root@apache ~]# systemctl restart httpd

  192.168.31.154/2.php

  四、安装Mariadb

  [root@apache ~]# yum -y install mariadb-server mariadb

  [root@apache ~]# systemctl start mariadb.service

  [root@apache ~]# systemctl enable mariadb.service

  [root@apache ~]# mysql_secure_installation //提升mariadb安全 [可选]

  Set root password? [Y/n]

  New password: 123

  Re-enter new password: 123

  [root@apache ~]# mysql -uroot -p123 //登录mariadb测试

  MariaDB [(none)]> \q

  [root@apache ~]# rm -rf /var/www/html/*

  [root@apache ~]# vim /var/www/html/index.php

  $link=mysql_connect('localhost','root','123');

  if ($link)

  echo "Successfuly";

  else

  echo "Faile";

  mysql_close();

  ?>

  测试结果: php无法连接mysql

  五、并配置php连接Mariadb

  [root@apache ~]# yum -y install php-mysql

  [root@apache ~]# php -m //查看php有哪些扩展

  [PHP Modules]

  mysql

  mysqli

  [root@apache ~]# systemctl restart httpd

  六、Apache基本配置


  [root@tianyun ~]# vim /etc/httpd/conf/httpd.conf

  ServerRoot "/etc/httpd" //安装目录

  Listen 80 //监听端口

  IncludeOptional conf.d/*.conf //包含conf.d下的*.conf文件

  User apache //运行Apache的用户

  Group apache //运行Apache的用户组

  DirectoryIndex index.html index.php //设置默认主页

  DocumentRoot //站点默认主目录

  //Apache访问控制

  AllowOverride None

  # Allow open access:

  Require all granted

  ========================================================

  配置进程和线程 针对apache2.2 仅针对面试

  # prefork MPM //进程模式

  StartServers 10 //初始建立的进程数

  MinSpareServers 10 //最小空闲的进程数

  MaxSpareServers 15 //最大空闲的进程数

  ServerLimit 2000 //最大启动的进程数 默认256

  MaxClients 2000 //最大并发连接数  默认256

  MaxRequestsPerChild 4000 //每个子进程在其生命周期内允许响应的最大请求数,0不限制

  # worker MPM //线程模式

  StartServers 2 //初始建立的进程数

  ThreadsPerChild 50 //每个进程建立的线程数

  MinSpareThreads 100 //最小空闲的线程数

  MaxSpareThreads 200 //最大空间的线程数

  MaxClients  2000 //最大的并发访问量(线程)

  MaxRequestsPerChild 0 //每个子进程在其生命周期内允许响应的最大请求数,0不限制

  ========================================================

  忘记MySQL密码

  MySQL 5.7.5 and earlier:

  [root@mysql1 ~]# vim /etc/my.cnf

  [mysqld]

  skip-grant-tables

  [root@mysql1 ~]# service mysqld restart

  [root@mysql1 ~]# mysql

  mysql> update mysql.user set password=password("456") where user="root" and host="localhost";

  mysql> flush privileges;

  mysql> \q

  [root@mysql1 ~]# vim /etc/my.cnf

  [mysqld]

  #skip-grant-table

  [root@mysql1 ~]# service mysqld restart

上一篇:水彩泼墨风格操作流程

下一篇:客户端使用dns查询

QQ技术交流群

千锋云计算官方①群
685222552

加入群聊

用户登录

手机号:

密码:

图形验证码:

点击切换

用户注册

手机号:

登录密码:

图形验证码:

点击切换

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

手机号:

图形验证码:

短信验证码:

获取验证码

忘记密码

1安全验证

2重置密码

新密码:

确认新密码:

获取课程

添加小千老师微信,获取课程信息

如何获取课程?

一、需拥有此本教材

如没有,可点击下方入口购买当当购买入口京东购买入口

二、添加小千老师,发送拥有凭证,解锁课程资源

1.购买该教材的订单信息
2.拥有的实体书信息等

更换手机号

新手机号:

图形验证码:

短信验证码:

获取验证码