centos7之LAMP搭建

Yum在线(install、localinstall :在线,本地)

rpm包,编译好的安装

重启网卡

ifdown ens33

ifup ens33

/etc/sysconfig/network-scrpits/ens33

安装辅助工具

yum install net-tools:安装网络工具箱net-tools工具箱要被iproute2取代,包括arp,hostname,ifconfig,netstat,rarp,route, plipconfig, slattach, mii-tool and iptunnel and ipmaddr等命令

yum install vim tmux wget -y:使用yum安装vim和tmux(-y执行或卸载时不会询问,选择yes)

yum -y install httpd :超文本传输协议主程序(为一个后台进程)

yum -y install php:php环境

yum -y install php-fpm:进程管理器

yum -y install php-mysql:php和mysql的连接组件

yum -y install mysql:mysql环境

yum -y install mysql-server:mysql数据库环境

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm:使用wget下载mysql-community-release-el7-5.noarch.rpm保存到当前目录下(noarch.rpm可编译二进制文件)

rpm -ivh mysql-community-release-el7-5.noarch.rpm:强制安装当前目录下所有***.rpm软件包

yum install mysql-community-server:社区版mysql数据库服务器(中小网站,非完整)

yum -y install httpd-manual mod_ssl mod_perl mod_auth_mysql:安装apache扩展

firewall-cmd --add-service=http --permanent:永久开放http

systemctl restart firewalld :重启防火墙

yum -y install php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-devel:源码安装PHP的其他常用扩展

yum -y install mysql-connector-odbc mysql-devel libdbi-dbd-mysql:安装MySQL的扩展

开机启动 systemctl enable httpd.service:http服务 systemctl enable mysqld:mysql服务

重启mysql、php、http服务

systemctl restart mysqld systemctl restart php-fpm systemctl restart httpd

查询服务器多少位

getconf LONG_BIT

mysql初次没有密码

mysql -u root -p 设置密码(mysql8.0版本不一定适用)root是用户名,123456是密码

set password for 'root'@'localhost'=password('123456') SET PASSWORD FOR root@localhost = '123456'

netstat -tunlpe:查看进程(建议在root权限下,否则部分http还有ftp进程看不到)-t或--tcp:显示TCP传输协议的连线状况 u或--udp:显示UDP传输协议的连线状况 -n或--numeric:直接使用ip地址,而不通过域名服务器 -p(进程名、进程号以及用户 ID)-n-e 选项一起使用,User 列的属性就是用户的 ID 号,而不是用户名

SElinux(安全增强型)集成安全Linux内核,关闭

getenforce:查看当前状态

Enforcing 强制— SELinux 策略强制执行,基于 SELinux 策略规则授予或拒绝主体对目标的访问

Permissive 宽容— SELinux 策略不强制执行,不实际拒绝访问,但会有拒绝信息写入日志

Disabled 禁用— 完全禁用SELinux

永远不推荐关闭 SELinux。当你这么做了,就会出现这种可能性:你磁盘上的文件可能会被打上错误的权限标签,需要你重新标记权限才能修复。而且你无法修改一个以 Disabled 模式启动的系统的模式。你的最佳模式是Enforcing或者Permissive。

你可以从命令行或/etc/selinux/config文件更改SELinux的模式。要从命令行设置模式,你可以使用setenforce工具。

文件修改此处:

vim /etc/selinux/config 注释掉 #SELINUX=enforcing:强制工作 #SELINUXTYPE=targeted:默认策略 加上 ELINUX=disabled:关闭工作

setenforce 0:setenforce 0 (临时生效可以直接用setenforce 0 )1 启用, 0 告警,不启用

SELINUX=permissive

测试mysql

网站配置文件 conn.inc.php 一般报错会提示mysql需要密码信息之类的

如果程序对虚拟机进行检测,修改xx.vmx配置文件绕过

monitor_control.virtual_rdtsc = "false" monitor_control.restrict_backdoor = "true" monitor_control.disable_directexec = "true"

ifconfig 网络设备状态(Linux)

无法使用可用:ip a

ip配置文件路径:vim /etc/sysconfig/network-scrpit/ifcfg-ens33 ONBOOT=no 将no -> yes reboot:重启虚拟机

vmtools安装方便虚拟机与物理及之间进行文件命令交互

系统更换源镜像

Centos(红帽系):

cd /etc/yum.repos.d:切换目录到源镜像定路径下

wget http://mirrors.163.com/.help/CentOS7-Base-163.repo 确认覆盖

yum clean all:清理一下旧包

yum makecache:生成缓存即可用163源

Debian:

vim /etc/apt/sources.list:修改源配置文件

加上:

deb http://mirrors.163.com/debian/ stretch main non-free contrib deb http://mirrors.163.com/debian/ stretch-updates main non-free contrib deb http://mirrors.163.com/debian/ stretch-backports main non-free contrib deb-src http://mirrors.163.com/debian/ stretch main non-free contrib deb-src http://mirrors.163.com/debian/ stretch-updates main non-free contrib deb-src http://mirrors.163.com/debian/ stretch-backports main non-free contrib deb http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib deb-src http://mirrors.163.com/debian-security/ stretch/updates main non-free contrib

保存修改退出,

apt-get update:更新所有包

LINUX基础

man: 帮助手册

使用方法:

man 命令

pwd:查看当前文件路径

cd:路径跳转(一般加绝对路径)

ls -l -a :查看当前目录文件(不隐藏,隐藏的)

ls -d */:查看当前文件路径下的文件目录文件

ls -lh -ll:查看当前文件夹的文件大小(4k查看,字节查看)

cat:查看文件内容

mkdir:创建一个新的文件夹(父目录)

touch:创建一个新的文件

head -n 路径/filename:显示一个路径下文件对的前n行文件的内容

tail -n 路径/filename:显示一个路径下文件对后n行文件的内容

grep -n "xxx" 路径/filename:查找显示xx路径下xx文件的内容中”xxx“(-n)并显示行号

进程线程查看方式

使用ls /proc/pid/task/ 查看线程

使用ps -eLf命令/ps aux -L/ps aux -el查看进程

使用pstree查看进程间的关系(树状结构显示)

进程和线程区别:

进程是资源分配的最小单位

线程是cpu时间片分配的最小单位

一个进程至少包含一个线程,即主线程

ps -eLf各字段含义

UID:用户ID

PID:process id 进程id

PPID: parent process id 父进程id

LWP:表示这是个线程;要么是主线程(进程),要么是线程

NLWP: num of light weight process 轻量级进程数量,即线程数量

STIME: start time 启动时间

TIME: 占用的CPU总时间

TTY:该进程是在哪个终端运行的;pts/0255代表虚拟终端,一般是远程连接的终端;tty1tty7 代表本地控制台终端

CMD: 进程的启动命令

进程状态。常见的状态有以下几种:

-D:不可被唤醒的睡眠状态,通常用于 I/O 情况 -R:该进程正在运行 -S:该进程处于睡眠状态,可被唤醒 -T:停止状态,可能是在后台暂停或进程处于除错状态 -W:内存交互状态(从 2.6 内核开始无效) -X:死掉的进程(应该不会出现) -Z:僵尸进程。进程已经中止,但是部分程序还在内存当中 -<:高优先级(以下状态在 BSD 格式中出现) -N:低优先级 -L:被锁入内存 -s:包含子进程 -l:多线程(小写 L) -+:位于后台

快捷键 ctrl+c ctrl+z ctrl+d:结束当前正在执行的进程,暂停当前的进程,表示一个特殊的二进制eof(完成或者注销) 挂起一个进程(fg重启,bg后台执行)

esc+. :粘贴上一个命令参数

ctrl+l:清空整个屏幕

ctrl+u:清空至行首

ctrl+w往回删除一个单词

alias:简化复杂命令(自己查)