1.查看ip:ifconfig
ip addr 回环ip
2.
vi/etc/sysconfig/network-scripts/ifcfg-xx
yum install net-tools 安装工具
4.查看centos版本:cat /etc/redhat-release
5.wget 下载的工具
6.替换源:http://mirrors.163.com/.help/centos.html
7.服务端安装SSH:
yum install openssh-server
启动SSH:
service sshd start
设置开机运行:
chkconfig sshd on
8.查看ssh进程:ps -ef|grep ssh 查看其他同理
9.客户端安装SSH:yum install openssh-clients
10.客户端连接服务端:ssh root@ip(地址) 
11.退出:exit
12.SSH config :
config存放在~/.ssh/config
touch config 创建文件
配置:host "name"
        HostName ip
        User root
        Port 22
连接:ssh name        
13.vim 文件路径 (打开) 然后按i开始编辑 esc+shift+: wq保存退出  esc+shift+: q! (不保存)
14.ssh安全免密码登陆:ssh key
.ssh key 使用非对称加密方式生成公钥和私钥
.私钥存放在本地~/.ssh目录
.公钥可以对外公开,放在服务器的~/.ssh/authorized_keys
linux平台生成ssh key
ssh-keygen -t rsa 或者 ssh-keygen -t dsa
ssh-add /path/to/xx 添加私钥
要把公钥复制到authorized_keys
若执行ssh-add /path/to/xxx.pem是出现这个错误:Could not open a connection to your authentication agent,则先执行如下命令即可:
 ssh-agent bash
SSH端口安全指的是尽量避免服务器的远程连接端口被不法分子知道,为此而改变默认服务端口号的操作
.如何改变SSH服务端口
修改 /etc/ssh/sshd_config配置

15.Linux常用命令
.软件操作命令
软件包管理器:yum
安装软件:yum install xxx
卸载软件:yum remove xxx
搜索软件:yum serach xxx
清理缓存:yum clean packages
列出已安装:yum list
软件包信息:yum info xxx

.服务器硬件资源和磁盘操作
内存:free -m
硬盘:df -h
负载:w或top
当使用top命令使用q退出
cpu个数和核数
查看cpu信息:cat /proc/cpuinfo
fdisk 格式化
.文件和文件夹操作命令
linux文件的目录结构

根目录:/
家目录: /home
临时目录: /tmp
配置目录: /etc
用户程序目录: /usr

文件基本操作

查看目录下的文件:ls
新建文件:touch
新建文件夹:mkdir
循环创建文件夹:mkdir -p test1/test2
进入目录:cd
chmod [-R] xyz filename|dirname  -R:表示递归修改

修改文件所有者: (用户名必须在/etc/passwd文件中)
chown [-R] username filename|dirname

 修改文件所有者
        chown user /etc/fstab 
    修改目录下的所有子目录或文件的所有者
        chown -R user /etc/init.d/ 
    同时修改文件所有者和所属组
        chown user:user /etc/fstab
    只修改文件所属组
        chown .user /etc/fstab

删除文件和目录:rm
循环删除:rm -r test1
强制删除: rm -rf test1
复制:cp
复制文件到另一个位置:cp ./test1.log  ~/test2.log(另一个位置)
移动(剪切):mv
把文件移动到另一个目录:mv ./test1 ~/(另一个位置)
显示路径:pwd
ls -al 相等ll

文件编辑神器vim
vim安装:yum install vim
打开文件:vim test1.log
然后按i开始编辑 esc+shift+: wq保存退出  esc+shift+: q! (不保存)
大写G到最后一行,小写g到第一行
删除一行:dd
恢复:u
要复制当已经按了i要先按esc然后把光标移到那一行按yy然后移到想复制的那行按p

文件权限421
读r:4
写w:2
执行x:1

文件搜索,查找,读取
从文件尾部开始读:tail
从文件头部读:head
读取整个文件:cat
分页读取:more

可控分页:less
搜索关键字:grep
查找文件:find
统计个数:wc

查看历史操作:history

文件压缩与解压
压缩:tar -cf test1.tar test 
gz方式压缩:tar -czvf test.tar.gz
查看:tar -tf test1.tar  或者 tar -tvf test1.tar
tar -tzvf test1.tar.gz 
解压:tar -xf test1.tar
tar -xzvf test.tar.gz

.防火墙相关设置

作用:保护服务器安全
设置防火墙规则
开放80,22端口
关闭防火墙

安装:yum install firewalld
启动:service firewalld start
重启:service firewalld restart
检查状态:service firewalld status
关闭或禁用防火墙:service firewalld stop或disable

查看是否有安装防火墙:yum list |grep firewall
查看防火墙是否开启:ps -ef |grep firewall

查看防火墙版本:firewall-cmd --version

firewall-cmd --permanent --zone=public --add-port=2888/tcp

.提权操作sudo和文件传输操作
提权:sudo
打开sudo权限设置:visudo
在最后输入
%wheel  ALL=(ALL) ALL
%xiaofeng ALL=(ALL) ALL
保存退出

文件下载:
wget 、curl

curl -o baidu.html https://www.baidu.com
文件上传:
scp test.txt root@ip:/tmp/
下载:scp root@ip:/tmp/test.txt
上传(cmd也可以):scp laravel-v5.1.11.zip xiaofeng@ip:/data/www/

windows上传文件需要在服务器安装:yum install lrzsz
使用命令:rz会弹窗上传
sz下载

系统用户操作命令
添加用户:useradd
useradd name
添加用户:adduser
删除用户:userdel
userdel -r name
userdel -f name
设置密码:passwd
passwd name

Apache基本操作
安装:yum install httpd
启动:service httpd start
停止:service httpd stop

软连接: sudo ln -s /data/server/php/bin/php /usr/bin/php (把PHP命令添加到bin里面,可以全局使用)
nginx 安装

添加Centos7 Nginx yum 资源库
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
sudo yum install nginx
重载:sudo service nginx reload
重启:sudo service nginx restart

Mysql基本操作
安装服务端:yum install mysql-community-server
启动:service mysqld start/restart
停止:service mysqld stop

mysql安装
Centos7默认安装mariadb数据库
移除:yum remove mariadb-libs.x86_64

下载Mysql源
https://dev.mysql.com/downloads/repo/yum/ 安装源:yum localinstall mysql57-community-release-el7-8.noarch.rpm
安装Mysql
yum install mysql-community-server
默认密码:cat /var/log/mysqld.log |grep "password"

命令行连接:mysql -hip -u名 -p密码

远程连接:

开启genelog(记录所有sql语句)
设置日志文件位置:set global general_log_file='/tmp/general.log';
开启:set global general_log=on;

新建用户和权限操作:

mysql8.0设置密码:SET PASSWORD = '1212121aa';
设置外网连接:show databases;
use mysql;
show tables;
update user set host = '%' where Host = 'localhost' and User = 'root';
mysql8.0额外需要:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'newpassword';
刷新数据库权限:flush privileges;
新建用户:create user 'xiaofeng'@'%' identified by 'xafafag_123456';
MySQL8.0设置权限:grant all privileges on *.* to 'user'@'%' ;
设置权限:grant all privileges on *.* to xiaofeng@% identified by xafafag_123456 with grant option;
(所有权限)
忘记root密码怎么办
打开/etc/my.cnf 文件输入:skip-grant-tables (不认证密码)
更新密码:update user set authentication_string = password("123456") where user = 'root';

Mysql客户端工具

SQLyog

Navicat

HeidiSQL

Sequal Pro

phpMyadmin

Memcached基本操作
安装:yum install memcached
启动:memcached -d -l -m -p
停止:kill pid

退出memcache终端:quit

Redis基本操作

安装:源码编译安装

下载:wget url
解压:tar -xzvf redis-... tar.gz
编译:make
make install

启动:redis-server start/restart
停止:redis-server stop
客户端:redis-client

查看系统端口使用情况:netstat -anpl |grep redis

Redis扩展知识
Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储
Redis支持数据的备份,即master-slave模式的数据备份
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用

Git:版本管理工具

安装:yum install git
git命令自动补全设置

Git常用命令

git config    git init
git clone     git remote
git fetch     git commit
git rebase      git push    

php基础环境配置

php扩展安装

Laravel5环境配置

Yii2环境配置

TP5环境配置

数据库网页工具:phpMyadmin

缓存redis管理工具:phpRedisadmin

php扩展安装

rpm命令是RPM软件包的管理工具。rpm原本是Red Hat Linux发行版专门用来管理Linux各项套件的程序,由于它遵循GPL规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM套件管理方式的出现,让Linux易于安装,升级,间接提升了Linux的适用度。

rpm 安装 Php7 相应的 yum源
CentOS/RHEL 7.x:
# rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

安装PHP扩展:
yum install php56w.x86_64 php56w-cli.x86_64 php56w-common.x86_64 php56w-gd.x86_64 php56w-mbstring.x86_64 php56w-mcrypt.x86_64 php56w-mysql.x86_64 php56w-pdo.x86_64

启动fpm:
service php-fpm start

redis扩展

Memcached扩展

数据库扩展

另一种解压命令;unzip

赋予文件夹权限:chmod -R 777 logs(文件夹名)

定时任务:crontab

打开文件:crontab -e
例子:*/1 * * * * php /data/www/cron.php >> /tmp/cron.log  (每分钟执行,把记录追加到/tmp/cron.log)
查看任务:crontab -l

日期同步:Ntpdate
日志切割:Logrotate

进程管理:supervisor

查看端口使用情况:netstat -anp|grep 8811

监控系统Zabbix

官网:https://www.zabbix.com

下载地址:
http://repo.zabbix.com/zabbix/3.2/rhel/7/x86_64 运行环境:LNMP
实例访问:zabbix.51luoye.com

守护进程运行php:nohup php a.php &

java安装
yum -y install java-1.8.0-openjdk*

Tomcat安装

Maven安装

Tomcat和Nginx配合
server {
        listen       80;
        server_name  java.51luoye.com;
        location / {
                proxy_pass http://127.0.0.1:8080;
        }
    }

实例访问:java.51luoye.com

Python运行环境配置:
软件包管理工具:pip
虚拟环境:virtualenv
模块安装:pip install
实例访问:py.51luoye.com

CentOS 7 rpm -i 时 警告warning: /var/tmp/rpm-tmp.z7O820: Header V4 RSA/SHA512 Signature, key ID a14fe591: NOKEY 解决方法
rpm --import /etc/pki/rpm-gpg/RPM*