设为首页 收藏本站
查看: 984|回复: 0

[经验分享] CentOS 平台,使用 httpd 2.2 和 httpd 2.4 部署 web服务器

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-7-15 09:23:19 | 显示全部楼层 |阅读模式
1、查看当前的系统
    uname -r
    cat /etc/redhat-release
2、通过rpm 安装httpd
    yum install httpd
    a、安装完成后,参看相应的配置文件。
        /etc/httpd/conf/httpd.conf # 主配置文件。
            A、修改参数
                Listen [IP:]port   # 可以出现多次。
                ServerName www.njjn.com:80
                DoucumentRoot /var/www/html      # 文档主目录
                NameVirtualHost 192.168.10.16:80   # 配置虚拟机是必须配置的参数,【仅在CentOS 6 可用,CentOS 7 以废除。】
                <Directory "/var/www/html">      # 安全的访问控制。
                    Options None
                    AllowOverride None
                    Order allow,deny
                    Allow from  [all | 192.168 | 192.168.0.0/16]
                                 # 基于主机的访问控制
                    AuthType basic
                    AuthName "only for root"
                    AuthUserFile "/etc/httpd/conf.d/.htpasswd"
                    Require valid-user      # 基于用户的访问控制
                </Directory>
            B、生成用户的密码文件
                htpasswd -c -m -b /etc/httpd/conf.d/.htpasswd redhat redhat
                -c : 第一次创建时使用
                -b : 通过命令行给密码
                -m : 密码通过MD5加密。
            C、查看当前服务器加载的模块
                ps aux   # 查看系统运行在哪个MPM模式下
                httpd  -l   # 查看核心模块
                     -M   # 查看所有的模块
                     -t   # 配置文件语法检查。

        /etc/httpd/conf.d/      # 辅助配置文件。
        /etc/sysconfig/httpd     # MPM 信息。
    b、添加到开机启动。
        chkconfig --add httpd
        chkconfig httpd on
        service httpd start
3、通过浏览器查看
    问题:服务器端要关闭防火墙和selinux
        iptables -F
        setenforce 0 | permissive
4、配置虚拟主机 【based-name】
    a、配置主配置文件里面的参数。
        /etc/httpd/conf/httpd.conf  添加 NameVirtualHost 192.168.10.15:80
    b、在/etc/httpd/conf.d/ 目录里面创建虚拟和主机的配置文件。
        vi vhost-1.conf
            <VirtualHost 192.168.10.15:80>  # 要和 NameVirtualHost 相同。
                ServerName "www.njjn.com"
                DocumentRoot "/data/vhosts/www1"
                 CustomLog "logs/www1-access-log" combined  # 相对路径,相对与 ServerRoot ,配置文件的路径。 /etc/httpd/logs 是 目录的软连链接。
                ErrorLog "logs/www1-error-log"

                # 如果在CentOS 7上,需要显示的给予授权。因为它默认是拒绝的。和 6 相反。
                <Directory "/data/vhosts/www1">   # 对虚拟的主机设置访问控制
                    Options None
                    AllowOverride None
                    Require [not] ip 192.168    # 仅 192.168.0.0 网段的可以访问。
                    Require [not] host www.njjn.com  # 使用一个就可以。
                     Require all granted    # 所有人都可以访问
                </Directory>
                <Location /server-status>   # 查看服务器的运行状态的信息。
                    SetHandler server-status
                    AuthType basic
                    AuthName "only for limit user"
                    AuthUserFile "/etc/httpd/conf.d/.htpasswd"
                    Require valid-user | user1 user2
                </Location>            # 仅认证过的账户可以访问,
            </VirtualHost>
5、配置 https
    a、创建私有的CA
        cd /etc/pki/CA
        (umask 066; openssl genrsa -out private/cakey.pem 2048) # 私钥必须是600权限,      
        openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
               生成自签整数。
            openssl x509 -in private/cakey.pem -text  # 大约是,查看整数信息。
            openssl rsautl -in private/cakey.pem -out capub.pem -pubout
    b、给应用程序生成,
        (umask 066; openssl genrsa -out httpd.key 1024)
        openssl req -new -key httpd.key -out httpd.csr -days 3650
        scp httpd.csr root@172.16.17.18:/tmp/
    d、CA 给予授权
        openssl ca -in /tmp/httpd.csr -out /etc/pki/CA/certs/httpd.crt -days 3650
        scp 传给客户端。
    e、客户端收到后,
        mkdir /etc/httpd/ssl
        把文件放到上面的目录。
    f、客户端安装,https 需要的 mod_ssl rpm 包
        此包会在,/etc/httpd/conf.d/目录,创建ssl.conf 文件。
        编辑参数。
        ServerName
        DocumentRoot
        SSLCertificateFile "/etc/httpd/ssl/httpd.crt"  # 整数文件, httpd.crt
        SSLCertificateKeyFile "/etc/httpd/ssl/httpd.key" # 本机的私钥文件。
    重启服务:service httpd start  
        通过浏览器访问,要把私有CA的私钥导入浏览器,不然会提示证书无效。不导入也不影响使用。

6、安装mysql ,mariadb
    yum install mysql-server | mariadb-server
    a、配置参数
        vi /etc/my.cnf
            innodb_file_per_table=ON   # 每个表对应一个文件。
            skip_name_resolve=ON     #  跳过名称解析。CentOS 6 【无效】。
7、安装php, php-zts, php-mysql
    yum install php
    a、会生成,libphp5.so 库,可以和 prefork 相匹配。
    b、libphp5-zts.so 可以和 worker,event 想匹配,所在包是php-zts
     这两种都是,httpd的模块的形式工作。
        Client request index.php -> Server httpd receive, 启用,php进程,进行处理。
    php-mysql : 是为php 和mysql通信提供驱动。
    编辑及页面,/data/vhosts/www1/index.php
        vi ~~
            <?php
                phpinfo();
            ?>
    客户成功,锁屏配置成功。

httpd 2.4: 特性
    1、DSO: dynamic share object, 支持动态的模块编辑,
    2、毫秒级的KeepAlive 500ms 持久连接。
    3、MPM event 可以在生产中使用。
    4、性能提升,节约内存等。

    apr: apache portable runtime ,httpd跨平台的基础。
        apr
        apr-util
        apr-iconv


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-244308-1-1.html 上篇帖子: 如何设置bugfree使用中的phpmyadmin访问密码 下篇帖子: except 脚本中执行scp 命令 web服务器
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表