• LAMP环境搭建


    LAMP配置

    apache配置图

    image-20210309190714328

    Mysql安装配置

    • /usr/local/src 软件包全放在这里面方便管理

    • 下载 mysql压缩包 wget http://mirrors.sohu.com/mysql/MySQL-5.6/mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz

    • tar -zxvf 压缩包 进行解压

    • 安装和配置 添加一个mysql用户 useradd -s /sbin/nologin mysql 建立MySQL用户,因为启动MySQL需要该用户,/sbin/nologin用户无法使用bash或其他shell来登陆系统

    • mkdir -p /data/mysql 创建数据文件 mysql的数据信息存在 这里 datadir

    • chown -R mysql:mysql /data/mysql 更改文件所属用户和用户组

    • [ -d /usr/local/mysql ] && mv /usr/local/mysql /usr/local/mysql_old&&相当于一个判断,意前面命令执行才会执行后面

    • mv mysql-5.6.39-linux-glibc2.12-x86_64 /usr/local/mysql 移动位置

    • cd /usr/local/mysql

    • ./scripts/mysql_install_db --user=mysql --datadir=/data/mysql指定mysql的用户名和数据信息目录

    image-20210308102230385

    • 如果出现错误 安装 yum install -y perl perl-devel autoconf
    • cp support-files/my-default.cnf /etc/my.cnf 因为系统默认就有/etc/my.cnf,所以会提示是否覆盖,直接按“y”即可
    • 修改配置文件 my.ini basedir 是mysql包所在的位置 datadir是mysql数据包所在的位置 port 是mysql监听的端口号 server_id是mysql服务的id socket我t定 义MySQL服 务 监 听的套接字地址,在Linux系统下面,很多服务不仅可以监听一个端口(通过TCP/IP的方式通信),也可以监听socket,两个进程就可以通过这个socket文件通信。

    image-20210309195824150

    • cp support-files/mysql.server /etc/init.d/mysql 复制启动脚本 并修改其属性

    • chmod 755 /etc/init.d/mysql 赋予启动文件权限

    • 编辑启动文件 vi /etc/init.d/mysql 修改启动脚本的basedir 和 datadir

    basedir=/usr/local/mysql
    datadir=/data/mysql
    
    • 将mysql添加到服务 chkconfig --add mysql

    • chkconfig mysql on 开机启动mysql

    • service mysql start 启动mysql服务

    image-20210308102904058

    • yum install net-tools 安装依赖

    • netstat -ltunp |grep 3306 根据端口号 抓取mysql服务

    image-20210310080530224

    Apache搭建

    • 下载httpd-2.4.46.tar.gz、apr-1.6.5.tar和apr-util-1.6.1.tar

    • 然后分别进行解压 tar -zxvf

    • cd /usr/local/src/apr-1.6.5

    • ./configure --prefix=/usr/local/apr为编译做准备 指定安装目录 必须安装gcc c语言环境

    • 如果报错“rm: cannot remove 'libtoolT': No such file or directory”

    • vi configure 将RM='$RM'改为RM='$RM -f'

    • 编译安装 apache make && make install

    • cd /usr/local/src/apr-util-1.6.1.

    • yum install expat-devel

    • ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr 指定安装目录 关联apr

    • make &&make install 编译安装

    • cd /usr/local/src/httpd-2.4.46

    • yum install -y pcre pcre-devel

    • ./configure --prefix=/usr/local/apache2.4 --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --enable-so --enable-mods-shared=most //--perefix指定安装目录//--enable-so表示启用DSO //--enable -mods- shared表示以共享形式安装模块

    • 编译安装 make && make install

    • 如果报错“collect2: error: ld returned 1 exit status make[2]: *** [htpasswd] Error 1”

      • cd /usr/local/src/
      • cp -r apr-1.6.5 /usr/local/src/httpd-2.4.46/srclib/apr 复制 apr到httpd中
      • cp -r apr-util-1.6.1 /usr/local/src/httpd-2.4.46/srclib/apr-util

      • 如果还是不行,重新执行configure命令,添加一个编译参数:--with-included-apr再执行make clean all

        make && make install

    • /usr/local/apache2.4/bin/apachectl -M 查看配置文件

      • -M查看配置文件有哪些文件

        //share字样的动态共享模块,static以静态形式存在

    image-20210308144750627

    安装PHP

    • 下载资源包 tar
    • tar -zxvf进行解析
    • yum install -y libxml2-devel openssl openssl-devel bzip2 bzip2-devel libpng libpng-devel freetype freetype-devel epel-release libmcrypt-devel libjpeg-turbo libjpeg-turbo-devel
    • yum install -y libmcrypt-devel 提前安装库文件
    • cd php-5.6.30
    • yum install bzip2-devel.x86_64 -y
    • ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache2.4/bin/apxs --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-libxml-dir --with-gd --with-jpeg-dir --with-png-dir --with-freetype-dir --with-iconv-dir --with-zlib-dir --with-bz2 --with-openssl --with-mcrypt --enable-soap --enable-gd-native-ttf --enable-mbstring --enable-sockets --enable-exif
    • make && make install 编译安装

    httpd解析php

    • vim /usr/local/apache2.4/conf/httpd.conf 编辑主配置文件
    • 搜索ServerName,把ServerName www.example.com:80前#去掉 ServerName提供服务器用来标识自身的名称和端口。
    • 将文档中的
    <Directory />
        AllowOverride none
        Require all denied
    </Directry>
    

    修改为

    <Directory />
        AllowOverride none
        Require all granted  # 允许所有请求访问
    </Directory>
    
    • 搜索AddType application/x-gzip .gz .tgz,在下面添加一行 AddType application/x-httpd-php .php

    • <IfModule dir_module>
        DirectoryIndex index.html 
      </IfModule>
      

      给为

      <IfModule dir_module>
          DirectoryIndex index.html index.php
      </IfModule>
      
    • 测试安装 /usr/local/apache2.4/bin/apachectl -t

    • /usr/local/apache2.4/bin/apachectl start 启动httpd

    image-20210308155444282

    • curl localhost

    image-20210308155427046

    • vim /usr/local/apache2.4/htdocs/1.php

    image-20210308155632837

    • curl localhost/1.php

    image-20210308155659075

    • 安装成功

    Apache配置

    默认虚拟主机

    ​ 虚拟主机(共享主机,又称虚拟服务器)是一种在单一主机或主机群上,实现多网域服务的方法,可以运行多个网站或服务的技术。虚拟主机之间完全独立,并可由用户自行管理,虚拟并非指不存在,而是指空间是由实体的服务器延伸而来,其硬件系统可以是基于服务器群,或者单个服务器。

    • 编辑httpd.conf搜索httpd-vhosts,去掉#号

    • vi /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 编辑虚拟主机配置文件

      • <VirtualHost *:80>
            # 指定管理员 邮箱
            ServerAdmin webmaster@dummy-host.example.com  
            # 为该虚拟主机站点的根目录
            DocumentRoot "/usr/local/apache2.4/docs/abc.com"
            # 服务名 站点域名
            ServerName abc.com
            # 站点的第二域名
            ServerAlias www.abc.com aaa.com
            # 错误日志存储的目录
            ErrorLog "logs/abc.com-error_log"
            # 访问日志 
            CustomLog "logs/abc.com-access_log" common
        </VirtualHost>
        
        <VirtualHost *:80>
            DocumentRoot "/usr/local/apache2.4/docs/111.com"
            ServerName 111.com
            ErrorLog "logs/111.com-error_log"
            CustomLog "logs/111.com-access_log" common
        </VirtualHost>
        
        
    • 在apache下建立 虚拟主机目录 docs mkdir docs

    • mkdir abc.com

    • vi abc.com/index.html 写入abc.com

    • mkdir 111.com 写入 111.com

    • /usr/local/apache2.4/bin/apachectl -t 测试是否正确

    • /usr/local/apache2.4/bin/apachectl graceful 刷新配置

    • curl -xlcoalhost:80 www.abc.com 测试

    image-20210308161353428

    image-20210308161411678

    image-20210308161453899

  • 相关阅读:
    linux c编程错误汇总
    linux 相对路径
    内存池版本4多线程可变大小对象的内存池
    2. D3DBlankWindow添加透视投影矩阵
    1. D3DBalnkWindow
    内存池版本3单线程可变大小对象的内存池
    内联函数提高程序性能
    代码优化
    STL总结
    内存池版本2单线程固定大小对象的内存池
  • 原文地址:https://www.cnblogs.com/zgrey/p/14509553.html
Copyright © 2020-2023  润新知