CenOS6 源码安装lamp操作笔记

2018-09-20  本文已影响0人  靠还是你

CentOS 6.6

1.给文件设置权限
    chmod u+rwx filename  //给filename文件的主人增加"读、写、执行"权限 
    chmod g-rx filename   //给filename文件的同组用户  删除 "读、执行"权限
    
    chmod u+/-rwx,g+/-rwx,o+/-rwx  filename
    >chmod u+w,g-rx,o+rw  filename  //给文件主人增加写权限,同组删除读、执行权限,其他组增加读、写权限
    
    数字绝对方式设置权限
    r读:4   W写:2  x执行:1
    
    文件对权限的使用
    读:是否可以查看文件内容
    写:是否可以修改文件(可以强制写操作)
    执行: (1)二进制文件(2)批量执行文件(windows批处理文件/linux  shell脚本文件)
     
    目录对权限的使用
    读:是否可以查看该目录内部的文件信息
    写:是否可以给该目录创建、删除文件
    执行:指定用户是否可以cd进入该目录 
    
2.  cat more 查看文件内容 :set nu 设置行号

3.  shell脚本
    #!/bin/bash  shell脚本标识
    
4.whoami  当前用户名
5.su  切换用户 su -
6.在文件中查找内容
    grep  搜索内容  文件
    >grep  hello passwd
    
    ps -A 系统活跃的进程
    kill -9 pid  停止进程
    
    du -h 一个文件占用磁盘的大小
    
    date查看时间
    date -s "2018-10-01 12:00:00" 给系统设置时间
    
    df -lh 查看系统分区情况
    
    ls -l | grep filename
    
    ls -l | head -5  查看前5行内容 
    
    ls -l | head -5 | tail -5 
    
    ls -l | wc 总文件数量
    
    vi 进入编辑页面   :set nu  编辑页面设置行号
    
7.  文件查找
    find  查找目录  选项  选项值  
    1)-name选项  根据名字进行查找
        > find / -name passwd  //递归遍历
    2)限制查找的目录层次 -maxdepth  -mindepth
        -maxdepth 限制查找的最深目录
        -mindepth 限制查找的最浅目录
        > find /  -maxdepth 4 -name passwd[完整名称]
        > find / -maxdepth 4 -name "*passwd*"[模糊查询必须加双引号]
    3)根据大小为条件进行文件查找
        -size  +/-文字大小
            +号表示大小大于某个范围
            -号表示大小小于某个范围
        大小单位:
        -size 5   //单位是512字节   
        -size 10c //单位是"字节"    
        -size 3K  //单位是"千字节"  
        -size 6M  //单位是"1024*千字节"   
        
        find / +size 400M   根目录查找文件大于400M的文件

8.软链接link
>ln -s 源文件  软链接  //如果源文件与软链接不在同一个目录  源文件使用绝对路径  无效软链接为红色  绿色软链接为正常

9.硬链接   一个文件有多个名字,它们都是同一个文件实体的硬链接  rm -rf  删除文件名字 并没有删除实体    实体是被回收机制消灭的
>ln -d 源文件   硬链接   //文件夹及文件都可以创建硬链接   .和..都是子集硬链接  索引号相同  同一个硬链接必须在同一个硬盘或者同一个分区 
>ln orange.txt  /var/a.txt
  
10.查看目录下文件
>ls li   i文件的索引号码
>ls -a   //list -all 查看目录

11.任务调度指令设置
定义:规定系统在指令的时间完成指定的任务过程
设置:
    >crontab -e  //编辑任务调度指令
    >crontab -l  //查看任务调度指令
    
    制作一个(out.sh)shell脚本,把目录的文件写入文件中  
    #! bin/bash
    cd /
    ls -l > /home/jiannan/liaoning/result.txt
    
    ./out.sh  //执行shell脚本
    
    任务调度脚本
    #分钟 小时 日期 月份 星期 被执行指令
      37   17   22   8    6     /home/jiannan/liaoning/out.sh  8月22日17点37分钟,把根目录下的文件写入文件
      43   21    *   *    *      每天的21.43执行
      0    17    *   *    1      每周一的17点执行
        
12.文件主人、组别
change owner
>chown 主人 filename
>chown 主人、组别  filename
>chown .组别       filename
>chown -R 主人、组别  dir  //通过"递归"的方式设置目录的属组信息

13.网络配置  必须root超级管理员执行
>cd /etc/sysconfig/network-scripts
网卡修改的时候做备份
>cp  ifcfg-eth0  /ifcfg-eth0.bak
 ifcfg-eth0 以太网卡   多个一台网卡  ifcfg-eth1...
 

    HWADDR=""//网卡物理地址 不需要修改
    ONBOOT=yes  系统启动自动启动网络
    BOOTPROTO=static  //设置使用手动ip地址
    IPADDR="" //使用网端之内的地址  且无使用ip
    NETMASK="255.255.255.0"
    
service network restart/stop/start

更改虚拟机为桥接模式  桥接模式:就是把虚拟电脑的网卡当成真实的网卡使用

13.光驱挂载
    1).光驱使用:
    2).创建一个普通目录
    3).  /dev/cdrom   软链接  -> 光驱硬件设备文件   b为硬件设备文件
        找到光驱硬件设备(/dev/cdrom)
    
    mount 硬件 目录   挂载
    mount /dev/cdrom  /home/jiannan/rom  
    umount 硬件或挂载点  卸载
    umount ./rom
    
14.linux系统软件安装
    1.二进制码安装
        1.1 rpm方式
        1.2 yum智能安装
    2.源码编译方式安装  该方式安装执行的效率要高  .tar.gz 源码
     源码文件 -> (编译工具) -> 二进制码文件 -> (复制) -> 系统指定目录
     
15.安装ftp(vsftpd)软件  file transfer protocol  文件传输协议  软件存在光盘中rpm   上传软件到服务器
    >rpm -ivh  软件包名vsftpd-2.2.2-l2 +Tap
    >rpm -q    软件包名(完整)  查看软件是否安装 vsftpd  
    >rpm -e    软件包名(完整)  卸载软件
    >rpm -qa    查找系统里全部rpm方式安装的软件
    >rpm -qa  | grep ftpd(部分名字)
    软件包全名 = 软件包名+软件版本+支持的系统+支持的cpu型号+文件的后缀 vsftpd-2.2.2-l2.e16_5.1.i686.rpm
    
    ftp与apache一致,是一个服务软件,走ftp协议,占用21号端口
    >service vsftpd  start/stop/restart
    >ps -A |grep ftp
    
    1)关闭防火墙
    2)关闭SELinux
    >vi /etc/selinux/config  把enforcing 改为 disabled   reboot重启防火墙
    
    对使用ftp用户限制
    ftp服务可以在配置文件里面做设置
        /etc/vsftpd/user_list     用户前面加#root 就可以访问了
        /etc/vsftpd/ftpusers      用户前面加#root 就可以访问了
    限制普通用户只能访问自己的家目录
        /etc/vsftpd/vsftpd.config
        97 行  chroot_list_enable=YES
        99 行  chroot_list_file=/etc/vsftpd/chroot_list
        
    把需要访问自己家目录的用户信息配置到文件
    /etc/vsftpd/chroot_list中即可
    创建chroot_list文件并做限制访问家目录  用户的设置
    文件中直接加用户名  
    
16.gcc编译器安装  软件在光盘   php由c和c++开发,所以要安装两个编译器
        该gcc可以实现c语言、c++语言、由源码向二进制码编译的过程
        找到需要安装的gcc相关软件
        gcc-4.4.7-11.el6.i686.rpm       编译C
        gcc-c++-4.4.7-11.el6.i686.rpm   编译C++
        
        gcc软件安装的时候提示:
            有软件依赖问题
            软件内部功能模块的依赖  直接所在的软件就可以解决
            
        依赖关系  lib->库    安装顺序和卸载程序相反
        gcc-4.4.7
            cloog-ppl[软件依赖]
                libppl.so.7[功能模块依赖]
                libppl_c.so.2[功能模块依赖]
                (ppl*****软件)
            cpp
                libmpfr.so.1
                (mpfr****软件)
                
    C语言测试工具
    [root@locahost] #cat hello.c
        #include<stdio.h>
        main(){
            prinf("hello word\n");
        }
        
    [root@locahost] gcc hello.c  编译  ./a.out  编译生成二进制
    
17.二进制码软件安装和源码编译方式安装的取舍
    1)软件安装后使用的用户非常少(公司内部人使用ftp、root管理员使用gcc),就采用二进制码方式安装。
    2)软件安装完毕使用者非常多,非常巨大(php、apache、mysql等),就采用源码编译方式安装   
    
18.源码编译安装软件  开始---------------------->go
    1)zlib软件安装
    该zlib可以对许多其他软件的编译代码起着优化作用
    .tar.gz -->tar zxvf  压缩包.tar.gz
    .tar.bz2 -->tar jxvf 压缩包.tar.bz2
    
        1.1)源码编译方式安装软件
        源码状态 -->二进制码状态 -->
            1、 ./configure  //在解压软件目录内部执行
            相关参数配置,软件安装位置,依赖软件设置,软件依赖检查等
            例如:--prefix是设置软件的安装位置
                >./configure --help  //查看当前软件可以设置的各种参数
            2、 make  //编译,根据configure 的配置信息生成"二进制文件"  .o文件为编译的二进制文件内容
            3、 make install  //把生成二进制文件复制到系统指定目录(本质与rpm安装软件一致)
            
    2)安装apache软件
    ./configure --prefix=/usr/local/http2 \ 
    --enable-modules=all \
    --enable-mods-shared=all \
    --enable-so 
    
    --enable-mods-shared=all 
        #模块共享型  要把全部的"功能模块代码"内容编译到"apache本身软件"内部
        #特点:apache本身软件会稍微臃肿,但是在调用相关模块的时候速度会很快
        
    --enable-static  
        #静态方式函数处理,需要设么函数,马上include来
        #特点:软件本身比较小,函数调用速度慢
    --enable-so
        #识别so后缀模块文件
        
    make && make install
    
    >/usr/local/http2/bin/apachectl start/stop/restart
    
    第一次启动apache服务提示  要求给apache服务配置一个虚拟域名
    (解决,修改apache  /usr/local/http2/conf/http.conf)  ServerName www.example.com:80
    
    浏览器访问  出现It works!  

    3)安装php 
        首先安装  xml gd jpeg
    
        安装libxml2
        #tar zxvf libxml2-2.7.2.tar.gz  
        #cd libxml2-2.7.2
        #./configure --prefix=/usr/local/libxml2 \
         --without-zlib
        #make && make install  
        
        安装jpep
        #tar -zxvf jpegsrc.v8b.tar.gz
        #cd jpeg-8b
        #./configure --prefix=/usr/local/jpeg \
         --enable-shared --enable-static
        #make && make install
        
        安装libpng
        #tar zxvf libpng-1.4.3.tar.gz
        #cd libpng-1.4.3
        #./configure
        #make && make install
        
        安装freetype(字体库)
        #tar zxvf freetype-2.4.1.tar.gz
        #cd freetype-2.4.1
        #./configure --prefix=/usr/local/freetype
        #make && make install
        
        安装GD库
        #tar -zvxf gd-2.0.35.tar.gz
        #mkdir -p /usr/local/gd
        #cd gd-2.0.35
        #./configure --prefix=/usr/local/gd \
                --with-jpeg=/usr/local/jpeg/  \
                --with-png--with-zlib \
                --with-freetype=/usr/local/freetype

        安装php5
        #tar -jxvf php-5.3.6.tar.bz2
        #cd php-5.3.6
        #./configure --prefix=/usr/local/php \
        --with-apxs2=/usr/local/http2/bin/apxs \
        apache的支持,其作用
        1)给apache生成php模块
        2)修改/usr/local/http2/conf/http.conf的配置文件,使其引入php模块
        
        --with-mysql=mysqlnd \
        --with-pdo-mysql=mysqlnd \
        --with-mysqli=mysqlnd \
        mysqlnd表示会激活php本身的mysql驱动并使用
        --with-freetype-dir=/usr/local/freetype \
        --with-gd=/usr/local/gd \
        --with-zlib --with-libxml-dir=/usr/local/libxml2 \
        --with-jpeg-dir=/usr/local/jpeg \
        --with-png-dir \
        --enable-mbstring=all \
        宽字节函数库是对php的支持
        substr(字符串,开始位置,长度);字符串截取,最小单位是字节
        mb_substr(字符串,开始位置,长度,字符集编码utf-8);根据字符集编码,会把每个实体内容都看作是一个单位,不会对汉字截取
        --enable-mbregex \
        正则表达式对php的支持
        --enable-shared
        
        #make && make install
        
        #cp php.ini.development  /usr/local/lib/php.ini
        
        php安装完成,会使/usr/local/http2/config/httpd.conf把对应的模块引入
        
        配置apache使其支持php
        vi /usr/local/http2/conf/httpd.conf
            1)在httpd.conf(apache主配置文件)中增加: apache遇到php文件调用相应的php模块
            AddType application/x-httpd-php .php     行号约105行
            2)找到下面这段话
            <IfModule dir_module>
                DirectoryIndex index.html
            </IfModule>
            在index.html 前面添加index.php 
            
        修改php配置文件并设置时区  PRC 中国
        
    4)安装MySQL
        安装cmake(更先进的configure)
        到光盘里边获取cmake安装 
        
        #ls | grep cmake
        #rpm -ivh cmake-2.8.12.2-4.e16.***
        #tar zxvf mysql-5.5.17.tar.gz
        #cd mysql-5.5.17
        #cmake \
            -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
            -DMYSQL_DATADIR=/usr/local/mysql\data \
            -DDEFAULT_CHARSET=utf8 \
            -DDEFAULT_COLLATION=utf8_general_ci
            
        (准备安装到哪里
         数据存储目录
         默认的字符集
         校对字符集)
         
        (报错就安装ncurses-devel)
        #mount ...挂载光盘/
        报错  依赖remove CMakeCache.txt   ncurses-devel 
        在光盘获得依赖软件并安装ncurses-devel-5.7-3.rpm
        #rpm -ivh ncurses-devel-5.7-3.20090208.el6.i686.rpm
        删除mysql-5.5.17解压文件中的CMakeCache.txt文件
        #rm -rf CMakeCache.txt
        #cmake .....内容上方
        #make && make install操作
        给mysql复制一份配置文件
        #cp support-files/my-medium.cnf /etc/my.cnf   //可以覆盖原文件
        
        #useradd mysql(该mysql用户会存在同一组下)
        #chmod +x /usr/local/mysql
        (数据库用户信息不小心删除光了
            1.删除/usr/local/mysql/data目录,
            2.同时删除旧的mysql服务
            >ps -A | grep mysql
            >killall mysqld 或 kill -9 mysql 进程号码
            3.从此开始执行以下指令,直至结束
        )
        
        #chown -R mysql.mysql /usr/local/mysql  //设置mysql的主人和组别
        初始化mysql数据库(创建系统默认数据)
        #/usr/local/mysql/scripts/mysql_install_db \
        --user=mysql \
        --basedir=/usr/local/mysql \
        --datadir=/usr/local/mysql/data &      //&符号表示在后台运行
        
        把mysql安装文件(除了 data)的主人都改为root,避免数据库恢复为出厂设置
        #chown -R root /usr/local/mysql
        #chown -R mysql /usr/local/mysql/data  
        后台运行mysql服务
        #/usr/local/mysql/bin/mysqld_safe --user=mysql &
        
        //删除无用的mysql用户信息  在初始化 user表中   ./mysql 启用操作窗口
        #flush privileges;  //刷新mysql权限表
        
        //查看mysql是否启动
        #ps -A | grep mysql
        
    5)lamp安装的细节处理 
        #虚拟主机目录,每个目录都需要开启"其他组的x权限"否则提示forbidden,进制访问
        #var、www、html、shop四个上下级目录的"其他组x权限"要设置
    apache、mysql开机自动启动
    
        配置文件路径:#vi /etc/rc.d/rc.local
        在 文件中增加启动相关的服务的命令如下:    
        /usr/local/http2/bin/apachectl start
        /usr/local/mysql/bin/mysqld_safe --user=mysql & 
        service vsftpd start
        
    6)开关机指令
    >reboot //重启系统
    >poweroff  //关闭系统 
    
    7)判断启动
    ps -A | grep httpd
    ps -A | grep mysql
    ps -A | grep ftp
        
        
    软件安装错误
    已经执行configure操作
    》根据正确的参数重新configure即可
    已经执行configure、make操作
    》删除解压后的文件目录,重新解压、configure、make
    已经执行configure、make、make install操作
        》删除安装后的文件(有指定安装目录情况/usr/local/http2)
        》删除解压后目录
        》重新解压、重新configure、重新make、重新make insatll
        
    7)高并发服务器模型
            多路IO复用服务器->select并发服务器 1000客户端
                            ->poll并发服务器
                            ->epoll服务器(重点)10000客户端  10倍关系

            
        通讯
        tcp/ip
        1.网络接口层  Mac地址
        2.网络层      IP地址
        3.传输层      TCP/UDP端口号
        4.应用层      应用层协议
    
        
        
        
    
    
   


    
 


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    





























上一篇下一篇

猜你喜欢

热点阅读