day02
1.远程连接服务器故障排查
1)道路是否通畅
2)是否有劫财劫色
xxxxxx no route to host xxxx
3)洗浴中心是否提供你想要的服务
sshd远程连接服务 == 22
ip 端口 用户名 密码
ll /var/log/secure #用户访问系统的记录
rz windows文件上传到linux
sz 把Linux文件下载到windows
.tar.gz
.zip压缩包是linux和windows默认支持的。
unzip secure-20161219.zip
xshell 远程连接
xftp ftp工具
https://www.netsarang.com/download/down_form.html?code=523
查看日志
1.less f或空格向下一页 b上一页
2.head/tail
3.grep
grep 'Failed password' secure-20161219
2.命令
2.
day03
1.yum源 使用光盘里面的rpm包
2.关闭 iptables 和selinux
1)当前正在运行的
/etc/init.d/iptables stop
2)关门开机自启动
chkconfig iptables off
3.运行级别与单用户
4.定时任务
linux启动过程
http请求与响应过程
nginx
wget http://nginx.org/download/nginx-1.12.2.tar.gz
编译安装nginx前的准备
1.添加一个用户
useradd -s /sbin/nologin -M www
#创建虚拟用户
#linux每个进程要有一个对应的用户
[root@oldboyedu-s6 nginx-1.12.2]# id www
uid=501(www) gid=501(www) groups=501(www)
[root@oldboyedu-s6 nginx-1.12.2]# su - www
su: warning: cannot change directory to /home/www: No such file or directory
This account is currently not available.
2.安装nginx依赖软件包
#pcre-devel perl语言的兼容正则表达式
#openssl-devel https
yum install pcre-devel openssl-devel -y
[root@oldboyedu-s6 nginx-1.12.2]# rpm -qa pcre-devel openssl-devel
pcre-devel-7.8-7.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64
##
##[root@oldboyedu-s6 ~]# ll /mnt/Packages/pcre-devel-7.8-7.el6.x86_64.rpm /mnt/Packages/openssl-devel-1.0.1e-57.el6.x86_64.rpm
##-r--r--r-- 2 root root 1227684 Mar 23 2017 /mnt/Packages/openssl-devel-1.0.1e-57.el6.x86_64.rpm
##-r--r--r-- 2 root root 327960 Jul 25 2015 /mnt/Packages/pcre-devel-7.8-7.el6.x86_64.rpm
##
3.编译安装nginx
./configure --user=www --group=www --prefix=/application/nginx-1.12.2 --with-http_stub_status_module --with-http_ssl_module
#--user 用户
#--group 用户组
#--prefix 安装到哪里
#两个模块--with-http_stub_status_module --with-http_ssl_module
echo $?
make
make install
[root@oldboyedu-s6 ~]# md5sum /root/nginx-1.12.2.tar.gz
4d2fc76211435f029271f1cf6d7eeae3 /root/nginx-1.12.2.tar.gz
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -t
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx
[root@oldboyedu-s6 nginx-1.12.2]# ss -lntup|grep 80
tcp LISTEN 0 128 *:80 *:* users:(("nginx",4377,6),("nginx",4378,6))
[root@oldboyedu-s6 nginx-1.12.2]# pwd
/application/nginx-1.12.2
[root@oldboyedu-s6 nginx-1.12.2]# ll
total 36
drwx------ 2 www root 4096 Mar 15 10:31 client_body_temp
drwxr-xr-x 2 root root 4096 Mar 15 10:00 conf nginx配置文件的目录
drwx------ 2 www root 4096 Mar 15 10:31 fastcgi_temp
drwxr-xr-x 2 root root 4096 Mar 15 10:00 html nginx站点目录 网站的根目录
drwxr-xr-x 2 root root 4096 Mar 15 10:31 logs nginx日志
drwx------ 2 www root 4096 Mar 15 10:31 proxy_temp
drwxr-xr-x 2 root root 4096 Mar 15 10:00 sbin nginx命令
drwx------ 2 www root 4096 Mar 15 10:31 scgi_temp
drwx------ 2 www root 4096 Mar 15 10:31 uwsgi_temp
├── client_body_temp
├── conf
│ ├── fastcgi.conf
│ ├── fastcgi.conf.default
│ ├── fastcgi_params
│ ├── fastcgi_params.default
│ ├── koi-utf
│ ├── koi-win
│ ├── mime.types
│ ├── mime.types.default
│ ├── nginx.conf #nginx的主配置文件
│ ├── nginx.conf.default
│ ├── scgi_params
│ ├── scgi_params.default
│ ├── uwsgi_params
│ ├── uwsgi_params.default
│ └── win-utf
├── fastcgi_temp
├── html
│ ├── 50x.html
│ └── index.html #网站默认的首页文件
├── logs
│ ├── access.log #访问日志
│ ├── error.log
│ └── nginx.pid
├── proxy_temp
├── sbin
│ └── nginx
├── scgi_temp
└── uwsgi_temp
9 directories, 21 files
10.0.0.1 - - [15/Mar/2018:10:44:47 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "http://10.0.0.200/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
10.0.0.1 - - [15/Mar/2018:10:44:50 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
10.0.0.1 - - [15/Mar/2018:10:44:50 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "http://10.0.0.200/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
10.0.0.1 - - [15/Mar/2018:10:44:51 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
10.0.0.1 - - [15/Mar/2018:10:44:51 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "http://10.0.0.200/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
10.0.0.1 - - [15/Mar/2018:10:44:51 +0800] "GET / HTTP/1.1" 200 612 "-" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
10.0.0.1 - - [15/Mar/2018:10:44:51 +0800] "GET /favicon.ico HTTP/1.1" 404 571 "http://10.0.0.200/" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.146 Safari/537.36"
egrep -v '^$|#' conf/nginx.conf.default >conf/nginx.conf
#优雅的重启nginx √√√√√√
/application/nginx-1.12.2/sbin/nginx -s reload
#关闭nginx 然后开启
/application/nginx-1.12.2/sbin/nginx -s stop
/application/nginx-1.12.2/sbin/nginx
mkdir -p /application/nginx-1.12.2/html/{www,bbs,blog}
for name in www bbs blog;do echo $name.etiantian.org> /application/nginx-1.12.2/html/$name/index.html ;done
for name in www bbs blog;do cat /application/nginx-1.12.2/html/$name/index.html ;done
[root@oldboyedu-s6 nginx-1.12.2]# cat conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -t
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -s reload
搭建www.etiantian.org网站流程
1.修改nginx.conf文件
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
2.创建环境
mkdir -p /application/nginx-1.12.2/html/{www,bbs,blog}
for name in www bbs blog;do echo $name.etiantian.org> /application/nginx-1.12.2/html/$name/index.html ;done
for name in www bbs blog;do cat /application/nginx-1.12.2/html/$name/index.html ;done
3.检查语法并重启
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -t
nginx: the configuration file /application/nginx-1.12.2/conf/nginx.conf syntax is ok
nginx: configuration file /application/nginx-1.12.2/conf/nginx.conf test is successful
[root@oldboyedu-s6 nginx-1.12.2]# /application/nginx-1.12.2/sbin/nginx -s reload
4.windows测试 浏览器(注意缓存)
1)修改 \etc\hosts
10.0.0.200 www.etiantian.org bbs.etiantian.org blog.etiantian.org
2)浏览器测试
5.Linux命令行测试
curl -vH Host: www.etiantian.org 10.0.0.200
排错流程:
1.linux命令行是否能显示
curl -vH Host:www.etiantian.org 10.0.0.200
2.windows 本地shell
ping
[root@oldboyedu-s6 nginx-1.12.2]# cat conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org;
location / {
root html/www;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name bbs.etiantian.org;
location / {
root html/bbs;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name blog.etiantian.org;
location / {
root html/blog;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
[root@oldboyedu-s6 nginx-1.12.2]# curl -H Host:bbs.etiantian.org 10.0.0.200
bbs.etiantian.org
[root@oldboyedu-s6 nginx-1.12.2]# curl -H Host:blog.etiantian.org 10.0.0.200
blog.etiantian.org
小结:
1.软件目录 配置文件讲解
2.搭建www网站
3.搭建多个网站(虚拟主机)
location
“~”用于区分大小写(大小写敏感)的匹配; ~ /images {}
“~*” 用于不区分大小写的匹配。还可以用逻辑操作符!对上面的匹配取反,即!~ 和 !~*。
“^~”作用是在常规的字符串匹配检查之后,不做正则表达式的检查,即如果最明确的那个字符串匹配的location配置中有此前缀,那么不做正则表达式的检查。
[root@oldboyedu-s6 nginx-1.12.2]# cat conf/nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name www.etiantian.org etiantian.org;
root html/www;
location / {
return 401;
}
location /documents/ {
return 403;
}
location ^~ /images/ {
return 404;
}
location ~* \.(gif|jpg|jpeg)$ {
return 500;
}
}
}
^~
~*
/documents/
/
第1名:“location ~* \.(gif|jpg|jpeg)$ {” 正则匹配
第2名:“location /documents/ {” 匹配常规字符串,如果有正则则优先匹配正则。
第3名:“location / {” 所有location都不能匹配后的默认匹配。
[root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200
HTTP/1.1 401 Unauthorized
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:13:41 GMT
Content-Type: text/html
Content-Length: 195
Connection: keep-alive
[root@oldboyedu-s6 nginx-1.12.2]#
[root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200/documents/index.html
HTTP/1.1 403 Forbidden
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:14:42 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
[root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200/documents/w.jpg
HTTP/1.1 500 Internal Server Error
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:15:56 GMT
Content-Type: text/html
Content-Length: 193
Connection: close
[root@oldboyedu-s6 nginx-1.12.2]#
[root@oldboyedu-s6 nginx-1.12.2]# curl -I 10.0.0.200/images/www.jpg
HTTP/1.1 404 Not Found
Server: nginx/1.12.2
Date: Thu, 15 Mar 2018 04:16:52 GMT
Content-Type: text/html
Content-Length: 169
Connection: keep-alive
小结:
0.linux启动过程
1.nginx 软件目录 配置文件讲解
2.搭建www网站
3.搭建多个网站(虚拟主机)
4.nginx location 用法
redis
day03
1.yum源 使用光盘里面的rpm包
2.关闭 iptables 和selinux
1)当前正在运行的
/etc/init.d/iptables stop
2)关门开机自启动
chkconfig iptables off
3.运行级别与单用户
4.定时任务
linux启动过程
day02
1.远程连接服务器故障排查
ll /var/log/secure #用户访问系统的记录
2.lrzsz zip tar
rz windows文件上传到linux
sz 把Linux文件下载到windows
unzip secure-20161219.zip
查看日志
1).less f或空格向下一页 b上一页
2).head/tail
3).grep
grep 'Failed password' secure-20161219
2.命令
day01
1.