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.应用层 应用层协议