• lamp安装


    1.安装apache

    apache的特点

    功能强大、配置简单、速度快、应用广泛、性能稳定可靠,并可做代理服务器或负载均衡来使用。

    apache应用场景

    1.1 解除依赖下载软件包

    yum install -y zlib zlib-devel
    cd /server/tools/
    wget http://mirror.bit.edu.cn/apache//httpd/httpd-2.2.34.tar.gz
    tar xf httpd-2.2.34.tar.gz
    cd httpd-2.2.34/

    1.2 安装apache配置

    ./configure --prefix=/application/apache2.2.34 --enable-deflate --enable-expires --enable-headers --enable-modules=most --enable-so --with-mpm=worker --enable-rewrite 
    make && make install

     

    1.3 参数解释

    --prefix 指定安装目录
    --enable-deflate 压缩文件
    --enable-expires 设置浏览器缓存过期
    --enable-headers http的头
    --enable-modules=most 激活大多数模块
    --enable-so 
    --with-mpm=worker mpm 
    --enable-rewrite

    1.4 apache 目录结构及配置文件

    bin/ab 压力测试工具
    ab.exe -h 查看帮助手册
    apacheMonitor apache管理工具(windows),
    apachectl apache管理工具(linux)
    apxs 添加新的模块时使用(在linux中?)编译php里需要这里的命令
    htpasswd 为网站设置用户名密码
    httpd 网站开启的服务
    rotatelogs 日志切分工具
    httpd.conf 主配置文件重要
    extra 扩展目录
    vim /httd.conf
    搜索
    DirectoryIndex index.html #默认使用index.html
    ServerRoot "/application/apache2.2.34" #软件安装位置
    Listen 80 #监听端口 默认监听本机所有IP
    <IfModule !mpm_netware_module> #模块的开头
    <IfModule !mpm_winnt_module> #模块的开头
    User daemon #编译安装软件默认用户 daemon
    Group daemon #编译安装软件默认用户组 daemon
    </IfModule>
    </IfModule>
    ServerAdmin you@example.com #网站管理员邮箱
    DocumentRoot "/application/apache2.2.34/htdocs" #默认的站点目录
    <Directory /> #权限控制 / 表示根目录
        Options FollowSymLinks
        AllowOverride None
        Order deny,allow #允许
        Deny from all #禁止
    </Directory>
    <Directory "/application/apache2.2.34/htdocs"> #新创建网站必须增加这些行 !!!!!
        Options Indexes FollowSymLinks # 它允许了没有首页情况下展示目录结构 需要去掉 Indexes 或 -Indexes,此时没有首页文件时会出现403 forbidden错误,所以一定要有首页文件
        AllowOverride None # 此处与httpd-defaults.conf控制,如果值为None 则表示禁止使用.htaccess All 表示允许
        Order allow,deny
        Allow from all
    </Directory>
    <IfModule dir_module> #首页文件
        DirectoryIndex index.html 
    </IfModule>
    <FilesMatch "^.ht"> 
        Order allow,deny
        Deny from all
        Satisfy All
    </FilesMatch>
    ErrorLog "logs/error_log" #错误日志
    LogLevel warn #访问日志级别
    <IfModule log_config_module> #日志类型
        LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i"" combined
        LogFormat "%h %l %u %t "%r" %>s %b" common
        <IfModule logio_module>
          LogFormat "%h %l %u %t "%r" %>s %b "%{Referer}i" "%{User-Agent}i" %I %O" combinedio
        </IfModule>
        CustomLog "logs/access_log" common
    </IfModule>
    <IfModule alias_module> #此处内容极不常用,建议删除
        ScriptAlias /cgi-bin/ "/application/apache2.2.34/cgi-bin/"
    </IfModule>
    <IfModule cgid_module>
    </IfModule>
    <Directory "/application/apache2.2.34/cgi-bin">
        AllowOverride None
        Options None
        Order allow,deny
        Allow from all
    </Directory>
    DefaultType text/plain #缺省类型,普通文本
    <IfModule headers_module>
        RequestHeader unset Proxy early #不设置代理
    </IfModule>
    <IfModule mime_module>
        TypesConfig conf/mime.types #
        AddType application/x-compress .Z #压缩类型
        AddType application/x-gzip .gz .tgz
      

    AddType application/x-httpd-php .php .php3 .phtml .inc #手动添加php解析文件

     

    AddType application/x-httpd-php-source .phps

    </IfModule>
    <IfModule ssl_module> # ssl 模块加密
    SSLRandomSeed startup builtin
    SSLRandomSeed connect builtin
    </IfModule>

    三个扩展的配置文件 httpd-vhosts.conf httpd-mpm.conf httpd-default.conf httpd-vhosts.conf NameVirtualHost *:80 #基于域名的虚拟主机 * 代表本机所有IP地址 <VirtualHost *:80> ServerAdmin webmaster@dummy-host.example.com DocumentRoot "/application/apache2.2.34/docs/dummy-host.example.com" ServerName dummy-host.example.com ServerAlias www.dummy-host.example.com ErrorLog "logs/dummy-host.example.com-error_log" CustomLog "logs/dummy-host.example.com-access_log" common </VirtualHost> <VirtualHost *:80> ServerAdmin webmaster@dummy-host2.example.com DocumentRoot "/application/apache2.2.34/docs/dummy-host2.example.com" ServerName dummy-host2.example.com ErrorLog "logs/dummy-host2.example.com-error_log" CustomLog "logs/dummy-host2.example.com-access_log" common </VirtualHost> httpd-mpm.conf <IfModule !mpm_netware_module> #pid文件 PidFile "logs/httpd.pid" </IfModule> <IfModule !mpm_winnt_module> <IfModule !mpm_netware_module> #锁文件 LockFile "logs/accept.lock" </IfModule> </IfModule> <IfModule mpm_prefork_module> #模式文件之prefork模式 默认为prefork模式 StartServers 5 MinSpareServers 5 MaxSpareServers 10 MaxClients 150 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_worker_module> #模式文件之 worker模式 指定woker模式 即为worker模式,如果没指定默认为prefork模式 StartServers 2 MaxClients 150 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_beos_module> StartThreads 10 MaxClients 50 MaxRequestsPerThread 10000 </IfModule> <IfModule mpm_netware_module> ThreadStackSize 65536 StartThreads 250 MinSpareThreads 25 MaxSpareThreads 250 MaxThreads 1000 MaxRequestsPerChild 0 MaxMemFree 100 </IfModule> <IfModule mpm_mpmt_os2_module> StartServers 2 MinSpareThreads 5 MaxSpareThreads 10 MaxRequestsPerChild 0 </IfModule> <IfModule mpm_winnt_module> ThreadsPerChild 150 MaxRequestsPerChild 0 </IfModule> httpd-defaults.conf Timeout 300 #超时时间 KeepAlive On #保持长连接 MaxKeepAliveRequests 100 #最大请求数 KeepAliveTimeout 5 #保持连接超时时间 UseCanonicalName Off AccessFileName .htaccess #rewrite重写 ServerTokens Full #隐藏版本号 ServerSignature On # HostnameLookups Off

     1.5问题解决

    错误:
    [root@VM_0_5_centos conf]# apachectl -t
    AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1. Set the 'ServerName' directive globally to suppress this message
    Syntax OK
    解决问题:
    用记事本打开 httpd.conf
    
    #ServerName www.example.com:80 修改前
    ServerName localhost:80   修改后
    
    [root@VM_0_5_centos conf]# apachectl start
    [root@VM_0_5_centos conf]# ps -ef | grep httpd
    root     29861     1  0 10:00 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache   29862 29861  0 10:00 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache   29863 29861  0 10:00 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache   29864 29861  0 10:00 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache   29865 29861  0 10:00 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    apache   29866 29861  0 10:00 ?        00:00:00 /usr/sbin/httpd -DFOREGROUND
    root     29885 24369  0 10:00 pts/2    00:00:00 grep --color=auto httpd
    [root@VM_0_5_centos conf]# ss -lnt | grep 8000
    LISTEN     0      511    127.0.0.1:8000                     *:*                  

    2 安装php

    apache以模块方式添加php
    下载php
    wget http://cn2.php.net/distributions/php-7.1.1.tar.gz
    使用下载 libiconv rpm包使用
    链接:https://pan.baidu.com/s/1eR1LB8I 密码:rnr2
    rpm -ivh libiconv-1.14-1.x86_64.rpm
    tar xf php-7.1.1.tar.gz
    cd php-7.1.1

    2.1安装依赖

    yum install -y zlib-devel openssl-devel pcre-devel libxml2-devel libjpeg-devel libjpeg-turbo-devel libivonv-devel freetype-devel libpng-devel gd-devel libcurl-devel libxslt-devel libxslt-devel bzip2-devel readline-devel recode recode-devel libtidy libtidy-devel libmcrypt-devel mhash mcrypt

    2.2编译参数

    ./configure --prefix=/application/php-7.1.1 --with-apxs2=/application/apache/bin/apxs --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-iconv-dir=/usr/local/libiconv --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex  --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-soap --enable-short-tags --enable-static --with-xsl --enable-ftp --enable-opcache=yes 
    make && make install
    #授权
    useradd www -s /sbin/nologin -M
    chown -R www.www /application/php-7.1.1/
    ln -s /application/php-7.1.1/ /application/php
    复制php配置文件
    cp /server/tools/php-7.1.1/php.ini-development  ./php.ini
    cp /server/tools/php-7.1.1/php.ini-development /application/php/etc/
    修改apache httpd.conf
    vim /application/apache/conf/httpd.conf
    AddType application/x-httpd-php .php .php3 .phtml .inc
    AddType application/x-httpd-php-source .phps
    
    重启服务
    /application/apache/bin/apachectl -k restart

    3 二进制安装数据库

    安装依赖包
    yum install -y libaio libaio-devel
    上传mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz,#二进制文件
    tar xf mysql-5.6.34-linux-glibc2.5-x86_64.tar.gz #时间会长一些
    mkdir -p /application/mysql5.6.34
    mv /server/tools/mysql-5.6.34-linux-glibc2.5-x86_64/* /application/mysql5.6.34/
    ln -s /application/mysql5.6.34/ /application/mysql 
    useradd -s /sbin/nologin -M mysql
    chown -R mysql.mysql /application/mysql
    /application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
    sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /application/mysql/support-files/mysql.server
    cp /application/mysql/support-files/my-default.cnf /etc/my.cnf
    cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld
    /etc/init.d/mysqld start
    #设置密码
    /application/mysql/bin/mysqladmin -u root password 'new-password'
    /application/mysql/bin/mysqladmin -u root -h web02 password 'new-password'
    #添加到PATH路径
    sed -i '$aexport PATH=/application/mysql/bin:$PATH' /etc/profile
    source /etc/profile
    #跳过授权表启动,在没有密码时,可以启动程序
    /application/mysql/bin/msyqld_safe --skip-grant-table &
  • 相关阅读:
    C# 一个数组集合,任意组合,不遗漏,不重复
    C# 对象遍历 string类型 null转空字符串和去前后空格
    mysql中varchar可以存多少汉字
    ping ipconfig telnet
    mysql 生成UUID() 即 ORACLE 中的guid()函数
    a标签的href和onclick
    JQuery设置checkbox选中或取消等相关操作
    JS eval()函数
    ztree设置节点checked,选中某节点等相关操作
    Windows数据库定时备份
  • 原文地址:https://www.cnblogs.com/anyux/p/8178091.html
Copyright © 2020-2023  润新知