linux操作

ssh - Secure Shell
安全外壳协议(安全的远程连接)

1.服务器端配置安装:
安装:yum install openssh -server
启动:service sshd start
设置开机运行:chkconfig sshd on
查看启动服务: ps -ef|grep ssh

2.客户端配置:
Windows: XShell/Putty

Linux: yum install openssh-clients

3.ssh使用
ssh 用户名@IP地址(22端口)

4.SSH config配置
存放路径: ~/.ssh/config

多用户分配
touch config
vim config
host “laowang”
HostName 192.168.0.15
User root
Port 22
IdentityFile ~/.ssh/id_rsa.pub

IdentitiesOnlu yes

效果: ssh laowang直接登录

5.SSH安全免密登录(ssh key)
公钥公开, 私钥保存本地~/.ssh/authorized_key

若服务器上已有该文件 , 将公钥文件内容添加至服务器文件即可

生成:

ssh-keygen -t rsa

ssh-keygen -t dsa

添加配置私钥至ssh服务(本地linux端)

ssh-add ~/.ssh/naxx_rsa

6.SSH端口安全
修改服务端口

文件路径/etc/ssh/sshd_config

1.vim /etc/ssh/sshd_config

2.修改port

Linux常用命令:
1.软件操作命令
​ 软件包-yum

​ 安装: yum install xxx

​ 卸载:yum remove xxx

​ 搜索:yum search xxx

​ 清理缓存:yum clean packages

​ 已安装列表:yum list

​ 软件包信息:yum info xxx

2.服务器资源命令
​ 内存大小:free -m

​ 磁盘大小:df -h

​ 分区信息:fdisk -lu

​ 负载:w/top (一般0.6~0.7)

​ cpu个数和核数:cat /proc/cpuinfo

3.文件/文件夹操作
1).文件目录结构

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

2).基本操作命令
​ - 查看目录下文件:ls -al

​ - 新建文件:touch

​ - 新建文件夹:mkdir -p

​ - 进入目录:cd

​ - 删除文件/目录:rm

​ - 复制:cp

​ - 移动/剪切:mv

​ - 显示路径:pwd

3).文本编辑Vim

  • 插入模式编辑i
  • 首行G
  • 尾行gg
  • 删除一行dd
  • 回复u
  • 复制一行yy
  • 粘贴p
  • 退出:q
  • 保存:w
    4).文件权限421
    r w x
    读-read 写-write 执行-execute
    4 2 1
    ​ 更改权限chmod -R 777 runtime/

更改文件所有者 : sudo chown -R naxx:naxx /data/test.txt

5).搜索/查找/读取

  • 从文件尾部开始读:tail tail -f xxx

  • 从文件头部开始读:head

  • 读取整个文件:cat

  • 分页读取:more

  • 可控分页:less

  • 搜索关键字:grep grep -n "123" xxx.php

  • 查找文件:find find /etc/ -name "naxx"

  • 统计个数:wc cat index.php | wc -l
    6).文件压缩/解压
    ​ tar

  • 压缩:tar -cf naxx.tar 文件名 .gz格式压缩:tar -czvf naxx.tar.gz 文件名

  • 解压缩:tar -xf naxx.tar .gz解压:tar -xzvf naxx.tar.gz

  • 查看:tar -tvf naxx.tar .gz查看:tar -tzvf naxx.tar.gz
    4.系统用户操作
    ​ 1.添加用户 useradd 用户名

​ 2.添加用户adduser 用户名

区别:(Ubuntu)

在root权限下,useradd只是创建了一个用户名,如 (useradd +用户名 ),它并没有在/home目录下创建同名文件夹,也没有创建密码,因此利用这个用户登录系统,是登录不了的,为了避免这样的情况出现,可以用 (useradd -m +用户名)的方式创建,它会在/home目录下创建同名文件夹,然后利用( passwd + 用户名)为指定的用户名设置密码。

可以直接利用adduser创建新用户(adduser +用户名)这样在/home目录下会自动创建同名文件夹
​ 3.删除用户userdel -r 用户名 (同时删除用户文件夹)

​ 4.设置密码passwd 用户名

5.防火墙设置

保护服务器安全/设置规则/关闭防火墙

一般配置: (开放指定端口)
​ 1.安装

​ yum install firewalld

​ 2.启动

​ service firewalld start

​ 3.检查状态

​ service firewalld status

​ 4.关闭/禁用防火墙

​ service firewalld stop/disable

​ 5.查看安装状态

​ yum list | grep firewall

​ 6.查看服务状态

​ ps -ef | grep firewall

firewall-cmd 操作

6.提权及文件传输
1.提权: sudo
​ visudo

  • root账号登录: ssh root@192.168.1.xxx
  • 打开权限文件: visudo
  • 输入/all搜索后添加内容

    Allows people in group wheel to run all commands

    %wheel ALL=(ALL) ALL

    %naxx ALL=(ALL) ALL
  • :wq保存退出,提权完成
    2.文件下载
    ​ wget / curl

wget https://www.baidu.com/ -存为index.html
curl -o baidu.html https://www.baidu.com/ -存为百度.html
3.文件上传
​ linux系统:scp

  • 以naxx账号的权限上传到/tmp目录:scp test.txt naxx@192.168.1.xxx:/tmp/

  • 以naxx账号权限下载指定文件到本地:scp naxx@192.168.1.xxx:/tmp/test.txt ./
    ​ Windows:lrzsz

  • 服务器安装sudo yum install lrzsz

  • 上传文件 rz (弹窗选择上传文件)

  • 下载文件 sz test.txt (弹窗选择本地保存路径)
    Apache
    1.基本操作
    安装: yum install httpd

启动: service httpd start

停止: service httpd stop

查看: ps -ef | grep http

端口: sudo netstat -anpl | grep http

2.文件目录
1.配置虚拟主机

  • /etc/httpd
  • config文件中配置虚拟主机
  • 搜索/virtual
    #virtual host being defined.
    <VirtualHost *:80>
    ServerName www.naxx.test
    DocumentRoot /data/www
    <Directory “/data/www/”>
    Options Indexes FollowSymlinks
    AllowOverride None
    Require all granted

  • 重启服务 service httpd restart
    修改host vim /etc/host
    192.168.1.xxx www.naxx.test
    setenforce : 0-关闭selinux防火墙 1- 开启

2.伪静态:
​ mod_rewrite.so

​ conf文件中添加: LoadModule rewrite_module modules/mod_rewrite.so

Nginx
1.基本操作
安装 yum install -y nginx

先添加资源库:

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

启动 service nginx start

停止 service nginx stop

重载 service nginx reload (无缝重启动)

安装完毕后/etc/nginx

2.扩展
1.虚拟主机
配置文件目录: /etc/nginx/conf.d/*.conf (具体查看nginx.conf)

cp default.conf.

server{
listen 80;
server_name www.naxx.test;
root /usr/share/nginx/html;
index index.html index.htm;
}
Apache和Nginx不能同时运行, 默认端口都是80端口

2.多域名、多端口
server{
listen 80;
listen 9988;
server_name www.naxx.test www.naxxx.test;
root /data/www;
index index.html index.htm;
}
3.伪静态
server{
listen 80;
server_name www.naxx.test;
root /data/www;
index index.html index.htm;
location / {
rewrite ^(.*).htmp$ /index.html;
}
}
4.日志格式化
格式设置在 nginx.conf文件中

默认日志文件目录 : /var/log/nginx/access.log

单虚拟主机配置单日志: access_naxx_log /var/log/nginx/access.log 格式名;

http{
log_format main ‘xxx’;
log_format 添加新格式名 ‘格式参数’;

access_log /var/log/nginx/access.log 格式名;

}
5.反向代理/负载均衡
1.原理

反向代理: 用户->Nginx服务器->真实资源服务器

负载均衡: 多服务器承载相同的请求

1568001116845

2.配置

文件路径: conf.d/naxx.conf
upstream naxx_hosts{
server xxx.xxx.xxx.xx1:80 weight=5; #(权重配置)
server xxx.xxx.xxx.xx2:80 weight=1;
}
server{
listen 80;
server_name www.naxx.test;
root /data/www;
index index.html index.htm;
location / {
proxy_set_header Host www.ni9ne.net;
proxy_pass http://naxx_hosts;

}

}
6.调试技巧
单行调试功能

add_header Content-Type “text/plain;charset=utf-8”;
return 200 “$http_host”;
MySQL
1.基本操作
​ 安装: yum install mysql-community-server

​ 启动: service mysqld start/restart

​ 停止: service mysql stop

2.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”
-修改密码
SET PASSWORD = PASSWORD(‘123123123’);
下载 : wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

3.扩展知识
1.远程连接
开启远程连接功能
mysql -h127.0.0.1 -uroot -p
xxxxxx
show databases; --查看数据库
use mysql;
show tables; --查看表
select * from user \G; --格式化显示表内容
updata user set host = ‘%’ where Host = “localhost” and User = “root”; --修改权限
flush privileges; --刷新权限
–配置防火墙开启3306端口
2.开启Genelog
记录所有的数据库操作日志文件

mysql> set global general_log_file="/tmp/geberal.log"; --设置保存位置
mysql> set global general_log=on; --打开配置
3.新建用户和权限操作
创建用户

mysql> create user ‘naxx’@’%’ identified by ‘123123123’;
密码策略改变(简单密码可用):

mysql> set global validate_password_policy=0;

mysql> set global validate_password_length=1;

赋予权限

mysql> grant all privileges on . to ‘naxx’@’%’ identified by ‘123123123’ with grand option;
mysql> flush privileges;
all privileges 代表所有权限, 可以使用’insert,select,update,delete’代替

回收权限

mysql> revoke all privileges on . from naxx;
mysql> flush privileges;
4.忘记root密码
跳过密码验证

  • vim /etc/my.cnf
    添加: skip-grant-tables
  • service mysqld restart
  • mysql> use mysql;
  • mysql> update user set authentication_string = password(‘123123’) where user = “root”;
  • mysql> flush privileges;
  • 删除之前配置文件中添加的skip-grant-tables,登录
    4.MySQL客户端工具
    SQLyog / Navicat / HeidiSQL / S-equal Pro / phpMyadmin

缓存服务
1.memcached
1.基本操作
安装: yum install memcached

启动: memcached -d -l -m -p

d:作为守护进程来运行

m:分配给Memcached的内存

l: Memcached监听的IP地址

p:Memcached监听的端口

u: 运行Memcached的用户

memcached -d -m 10 -u root -l 192. 168. 1. 130 -p 11211

停止: kill pid

telnet简介
作用 - 判断端口是不是通畅 / 发送命令
安装 - yum install telnet.*
使用 - telnet 127.0.0.1 80
2.常用命令
设置: set naxx 0 60 5

获取: get naxx

删除: delete naxx

退出: quit

2.redis
1.基本操作
安装: 源码编译安装

wget 下载网址

tar -xzvf redis.tar.gz

make (若gcc不存在, yum install gcc)

make MALLOC=libc

make install

命令 简介
redis-server Redis服务器端启动程序
redis-cli Redis客户端操作工具
redis-benchmark Redis性能测试工具
redis-check-aof 数据修复工具
redis-check-dump 检查导出工具
*默认端口: 6379 *

启动: redis-server start/restart

停止: redis-server stop

客户端: redis-client

2.扩展知识
redis支持多种类型的数据结构: list set hash string
支持数据备份, mster-slave模式的数据备份
数据持久化, 可以将内存中的数据保存在磁盘中, 重启的时候重载
3.命令
设置: set naxx hello

获取: get naxx

删除: del naxx

需要使用telnet链接 , 在服务器端redis-cli界面输入: CONFIG SET protected-mode no, 即可

telnet 102.168.1.xxx 6379

还支持list ,hash ,set 等多种格式数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值