常用Linux命令总结
常用Linux命令总结
- 1. 常用技巧
- 2. 常用目录说明
- 2.1. /home:
- 2.2. /media:
- 2.3. /bin
- 2.4. /sbin:
- 2.5. /usr/bin:
- 2.6. /usr/sbin:
- 2.7. /var:
- 2.8. /dev
- 2.9. /boot:
- 2.10. /etc:
- 3. 文件操作
- 4. 定时任务
- 5. 网络相关
- 6. 防火墙
- 7. 操作系统相关
- 8. shell编程
- 9. 软件相关
1. 常用技巧
1.1. linux shell 将上一个命令的输出作为下一个命令的参数
如下,使用反引号或者$()
top -p `pgrep proname`
top -p $(pgrep proname)
1.2. xargs
2. 常用目录说明
/etc: 这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在/bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的普通用户),而/sbin, /usr/sbin 则是给root使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在/var/log 目录下,另外mail的预设放置也是在这里。
2.1. /home:
用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。需要注意的是root用户的home目录不在/home
下,而是单独的/root
2.2. /media:
linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
2.3. /bin
/bin(bin是binary的缩写)下存放着linux的最经常使用的命令,如:ls、mkdir、rm等。
2.4. /sbin:
s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
2.5. /usr/bin:
系统用户使用的应用程序。
2.6. /usr/sbin:
超级用户使用的比较高级的管理程序和系统守护程序。
2.7. /var:
这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
如/var/log这个目录中的文件auth.log,就是每次sudo的记录。打开auth.log就可以看出哪个用户在什么时间请求鉴权,以及鉴权的结果。
2.8. /dev
/dev(dev是device的缩写)存放的是设备文件。在linux写,一切皆是文件,因此/dev下的每一个文件都对应一个设备。在Linux中访问设备的方式和访问文件的方式是相同的。
使用fdisk查找的就是/dev/下的文件内容
/dev/hd[a-t]:IDE设备
/dev/sd[a-z]:SCSI设备
/dev/fd[0-7]:标准软驱
/dev/md[0-31]:软raid设备
/dev/loop[0-7]:本地回环设备
/dev/ram[0-15]:内存
/dev/null:无限数据接收设备,相当于黑洞
/dev/zero:无限零资源
/dev/tty[0-63]:虚拟终端
/dev/ttyS[0-3]:串口
/dev/lp[0-3]:并口
/dev/console:控制台
/dev/fb[0-31]:framebuffer
/dev/cdrom => /dev/hdc
/dev/modem => /dev/ttyS[0-9]
/dev/pilot => /dev/ttyS[0-9]
/dev/random:随机数设备
/dev/urandom:随机数设备
2.9. /boot:
这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。如:grup
2.10. /etc:
etc不是什么缩写,是and so on的意思 来源于 法语的 et cetera 翻译成中文就是 等等 的意思
这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/etc/hosts*:主机相关配置
/etc/sysconfig/iptables : 防火墙
/etc/vim:vim的配置文件说明
/etc/init.d 目录包含许多系统各种服务的启动和停止脚本。如ssh()、cron(定时任务)
可以用来启动服务,如:
##启动ssh服务
/etc/init.d/ssh start
3. 文件操作
3.1. vim的使用
- 在命令模式下,按i进入编辑模式
- 在编辑模式下,按esc进入命令模式
- 在命令行模式下,按:进入底行命令模式
- 命令行模式下
- 光标移动
- 直接输入数字,将跳转到对应的行。
- h(←);j(↓);k(↑);l(→);
- set number或者set nu,显示行号;set nonumber或者set nonu,取消显示行号;
- ctrl+f(forword):向下翻一页,相当于pagedown
- ctrl+b(back):向上翻一页,相当于pageup
- 查找
- shift + * : 快速选中该单词
- /word : 从上往下搜索单词word
- ?word :从下往上搜索单词word
- n : 上一个匹配
- N : 下一个匹配
- 复制粘贴剪切
- u:撤销上一步操作
- ctr r:redo,恢复上一步被撤销的操作
- x:删除当前光标下的字符
- dw:剪切光标之后的单词(英文的一个单词或者标点,中文未知规则)剩余部分,包括空格。
- de:剪切光标之后的单词(英文的一个单词或者标点,中文未知规则)剩余部分,不包括空格。
- d$:剪切光标之后的该行剩余部分。
- dd:剪切当前行。
- ndd:剪切n行
- d0:从当前位置剪切至行首
- yw:复制光标之后的单词(英文的一个单词或者标点,中文未知规则)剩余部分,包括空格。
- ye:复制光标之后的单词(英文的一个单词或者标点,中文未知规则)剩余部分,不包括空格。
- y$:复制光标之后的该行剩余部分。
- yy:复制当前行。
- nyy:复制n行
- y0:从当前位置复制至行首
- c 功能和d相同,区别在于完成删除操作后进入INSERT MODE
- cc 也是删除当前行,然后进入INSERT MODE
- v进入可视模式进行选择,y复制,p粘贴,d剪切;
- 文件保存等
- q,退出;
- w [文件名]:写入文件(如果后边跟有文件名,则是复制文件并重命名,已修改的内容保存至新的文件,被复制文件不改变)
- !:英文感叹号,意为强制。如:q!,强制退出不保存
- x:如果文件发生改变,则保存并退出,否则直接退出[和ZZ一样]
- 光标移动
3.2. gedit
很多系统默认也有gedit,所有在vim一时不知道怎么使用的情况下,可以使用gedit命令凑合一下
3.3. nano
gedit在类似于putty等环境下是无法使用的。这个时候可以使用nano来代替。nano使用起来没有vi/vim那么麻烦。而且在nano界面的下方会有快捷键的提示。
3.4. 目录或文件操作
- cd 切换目录。如果文件路径中有空格,则需要使用\进行转义
- ls -al 已经被用烂了。-h 以易于阅读的文件尺寸显示,-a 查看所有文件,包括隐藏文件;-l 列出所有信息
- touch filename [filename1 …] :如果文件不存在则创建一个(或多个)新文件
- rm 删除文件或者文件夹,如果要删除的是文件夹,需要使用参数-r(级联),-f(强制删除)
- mkdir path1[ path2 …] 创建文件夹,如果没有参数只能创建单级文件夹,若要连续创建父子文件夹,需要使用参数-p(parent之意)
- rmdir 删除空目录(感觉没啥用)
- file filename 查看文件类型
- find path -name char 在path下查找文件名中包含char的文件
- sudo updatedb + locate filename 配合查找文件,需要注意 a:默认每天一次updatedb,如果没有找到,请updatedb b:在非Linux的文件系统下的文件找不到,比如我装的双系统中,locate找不到win7下的文件。
- mv filename1 filename2 path 将file1、file2移动到path下;也可用来重命名:mv oldfilename newfilename
- cp 拷贝文件。
- Linux没有windows中的隐藏文件概念,默认的,以点.开头文件名的文件是隐藏文件。
- du -sh 文件名称(*星号表示当前目录下的所有文件):显示文件大小
3.5. 权限相关
- chown username filename 将filename的拥有者改为username,一般需要使用管理员权限。需要注意,如果filename是一个文件夹,如果没有使用-R选项的话,chown只改变当前文件夹的拥有者,不改变子文件夹的拥有者。
- chgrp groupname filename 更改filename的群组为groupname,使用起来和chown没有太大差别。
- chmod 用来设置文件的权限。在终端中使用ls -l,显示文件权限相关的项目如-rwxrwxrwx,第一位代表的是文件类型,-代表文件,d代表dir即文件夹;第一组rwx指的是拥有者的读、写、执行权限;第二组代表的是群组的读、写、执行权限;最后一组则是other的读、写、执行权限;用法有:a,chmod 777 filename,其中7是rwx的421码的和;b,chmod u+x,g-x,o+w filename,其中u代表拥有者,g代表群组,o代表other,+代表增加权限,-代表减去权限。同上边的chown和chgrp,如果在文件夹上递归改变权限的话,需要使用-R选项。
- chmod +x:如果±前边没有u、g、o,那为意味这用户、群组、其它都赋予权限x
- 读写执行对于文件和文件夹的意义不同,在文件上比较明显,如果在文件夹上的话,则r代表是否可以看到,w代表是否可以在文件夹中新建文件或者文件夹,x则代表是否可以进入该目录。如果没有给文件夹x权限的话,使用cd dir时,会提示“权限不够”;如果没有w权限,在进入文件夹后新建文件夹,会提示“权限不够”;
3.6. 文本文件查看
- cat filename 显示文件内容。cat filename1 filename2 >filename3将file1,File2合并至file3
- tac filename : 按照行倒序显示文件内容
- nl filename :显示文本时,显示行号
- more filename : 显示文本内容,接着按space键则按屏翻页,按enter键按行翻页
- less filename :显示文本内容,其实和more一样。有些地方说只支持按行翻页,没发现其实。
- wc filename1 filename2 … 统计文本文件的字数等信息(newline word btye)
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
–version 显示版本信息
3.7. 压缩文件
tar命令是大多数发行版自带的,unzip和unrar可能要用包管理器安装一下才有。
目前只接触两个:tar和zip
3.7.1. tar
tar -jcvf filename.tar.bz2 要压缩的文件或文件夹列表
tar -jtvf filename.tar.bz2 查看压缩文件
tar -jxvf filename.tar.bz2 -C 解压缩目录
参数解释
- c:压缩文件夹
- t:查看打包文件的内容
- x:解打包或压缩,可以配合-C制定目录
- 注意-c -t -x三个命令不能同时出现
- j:-j 通过bzip2的支持进行解压或压缩
- z:-z 通过gzip的支持进行压缩或解压
- f:-f filename filename为要处理的文件
- C:-C dir dir为指定压缩或者解压缩的目录
常用组合
tar -tf filename.tar.bz2 查看文件内容
3.7.2. zip
注意:压缩文件夹时,如果没有指定-r
参数,则无法压缩文件夹内的文件。
常用参数有
- r:递归处理目录及目录下的文件;
- q:不显示命令执行过程。
示例:
zip filename.zip filename1 filename2
3.7.3. unzip 解压缩zip文件
常用参数
- d:指定解压到哪个文件夹
- l:简略模式
- v:详细模式
示例:
unzip filename.zip -d 文件夹
unzip -l xxx.zip (简略模式)
unzip -v xxx.zip (详细模式)
4. 定时任务
参考:Linux 定时任务
4.1. 配置定时任务
cron有两个配置文件,
- 全局配置文件(/etc/crontab),是针对系统任务的;
- crontab命令生成的配置文件(/var/spool/cron下的文件),是 针对某个用户的.
定时任务配置到任意一个中都可以。
查看用户下的定时任务:crontab -l或cat /var/spool/cron/用户名
4.2. crontab cron
定时任务的文件位置在:/var/spool/cron/
下(实际测试,确实在这里)
日志文件位置/var/log/cron*
(测试中没有找到,因为我自己设置日志位置了?)
- 服务管理
##网上说是这个路径/etc/init.d/crond status
##但是实际测试时,在路径/etc/init.d/下并没有找到crond,只找到了cron
/etc/init.d/cron status ##查看状态
/etc/init.d/cron restart ##重启服务
/etc/init.d/crond start/stop/restart/reload
#上述命令等价于sudo service cron {start|stop|status|restart|reload|force-reload}
- crontab定时任务最小执行时间
1分钟
如需要小于1分钟,可通过使用延时来实现每N秒执行或编写shell脚本实现 - crontab -l 列出所有定时任务
- crontab -e 修改定时任务文件内容
- crontab -r 删除某个用户所有的定时任务
- 查看cron是否运行:
ps -aux|grep cron
查看用户下的定时任务:crontab -l或cat /var/spool/cron/用户名
比如说root查看自己的cron设置:crontab -u root -l
再例如,root想删除fred的cron设置:crontab -u fred -r
在编辑cron服务时,编辑的内容有一些格式和约定,输入:crontab -u root -e
进入vi编辑模式,编辑的内容一定要符合下面的格式:*/1 * * * * ls >> /tmp/ls.txt
任务调度的crond常驻命令
crond 是linux用来定期执行程序的命令。当安装完成操作系统之后,默认便会启动此任务调度命令。crond命令每分锺会定期检查是否有要执行的工作,如果有要执行的工作便会自动执行该工作。
4.3. 示例
1.在/home/lihh/txt/下新建文件test.sh,并编写:
#!/bin/bash
nowdate=`date`
echo $nowdate>1.log
2.使用crontab -e
修改定时任务文件,在最后添加如下内容
*/1 * * * * /home/lihh/txt/test.sh
保存后退出
3.如果有异常,会在终端中会显示;如果任务没有问题,显示installing new crontab
5. 网络相关
- ping 测试连接。常用,不说了。
- ifconfig 查看网络信息
- wget url 下载url内容至本地。其常用参数drc 含义为:d,debug之意,显示下载详细信息;r,递归下载;c,断点续传
6. 防火墙
在Ubuntu中,可以使用ufw来简化防火墙操作。参考:如何启动、关闭和设置ubuntu防火墙
6.1. Linux 防火墙开放特定端口 (iptables)
直接编辑/etc/sysconfig/iptables,文件位置及名称不固定,视系统具体情况而定
-A INPUT -p tcp -m tcp --dport 4000 -j ACCEPT
保存在前面部分
再重启:
service iptables restart,在deepin Linux下,该操作失败,使用下边的方法,虽然也失败了,但好歹生效了
6.2. iptables:unrecognized service 的解决方法
iptables:unrecognized service 的解决方法
上边的这个文章写的比较详细,很有参考价值。我在尝试的时候生效的命令是modprobe ip_tables
7. 操作系统相关
-
reboot
重启,logout
注销,shutdown
关机。这些都需要root权限 - 注销其它用户的步骤:
- a:使用
who
查看:lihh tty1 2018-08-13 12:25 (:0)
- b:
sudo pkill -kill -t tty1
,这个tty1和上边who的第二项对应。
- a:使用
- top 查看进程占用的资源状况,top界面内存单位默认是kib,按E键可以更改内存的单位
- su 用户名 切换用户
- cat /proc/version 查看系统内核等。
- ps aux查看进程,使用grep配合,可以找到程序对应的进程
- kill 进程号,杀死进程
- who 当前用户信息;
- whoami 当前用户名;
- hostname 计算机名称;
- uname 系统内核,如果没有加参数,一般为Linux。
- a:获取全部信息 和/proc/version内容差不多相同
- 另外还有
-s,-n,-r
等参数,可man uname
查看
- sudo apt update:在debian下查看是否有软件需要更新;
- sudo apt upgrade:debian下升级软件
- sudo apt list --upgradable:debian下查看可以升级的软件列表
7.1. ps详解
参数说明:
- ps a 显示现行终端机下的所有程序,包括其他用户的程序。
- ps -A 显示所有程序。
- ps c 列出程序时,显示每个程序真正的指令名称,而不包含路径,参数或常驻服务的标示。
- ps -e 此参数的效果和指定"A"参数相同。
- ps e 列出程序时,显示每个程序所使用的环境变量。
- ps f 用ASCII字符显示树状结构,表达程序间的相互关系。
- ps -H 显示树状结构,表示程序间的相互关系。
- ps -N 显示所有的程序,除了执行ps指令终端机下的程序之外。
- ps s 采用程序信号的格式显示程序状况。
- ps S 列出程序时,包括已中断的子程序资料。
- ps -t<终端机编号>
- ps u 以用户为主的格式来显示程序状况。
- ps x 显示所有程序,不以终端机来区分。
7.1.1. ps -ef
和ps aux
的差别
两者没太大差别,讨论这个问题,要追溯到Unix系统中的两种风格,System V风格和BSD 风格,ps aux最初用到Unix Style中,而ps -ef被用在System V Style中,两者输出略有不同。现在的大部分Linux系统都是可以同时使用这两种方式的。
7.1.1.1. ps -ef
ps -ef
是用标准的格式显示进程的、其格式如下
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 14:46 ? 00:00:06 /sbin/init auto noprompt
root 2 0 0 14:46 ? 00:00:00 [kthreadd]
其中各列的内容意思如下
UID //用户ID、但输出的是用户名
PID //进程的ID
PPID //父进程ID
C //进程占用CPU的百分比
STIME //进程启动到现在的时间
TTY //该进程在那个终端上运行,若与终端无关,则显示? 若为pts/0等,则表示由网络连接主机进程。
CMD //命令的名称和参数
7.1.1.2. ps aux
ps aux
是用BSD的格式来显示、其格式如下
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1 0.3 0.1 185232 5748 ? Ss 14:46 0:06 /sbin/init aut
root 2 0.0 0.0 0 0 ? S 14:46 0:00 [kthreadd]
同ps -ef
不同的有列有
USER //用户名
%CPU //进程占用的CPU百分比
%MEM //占用内存的百分比
VSZ //该进程使用的虚拟內存量(KB)
RSS //该进程占用的固定內存量(KB)(驻留中页的数量)
STAT //进程的状态
START //该进程被触发启动时间
TIME //该进程实际使用CPU运行的时间
其中STAT状态位常见的状态字符有
D //无法中断的休眠状态(通常 IO 的进程);
R //正在运行可中在队列中可过行的;
S //处于休眠状态;
T //停止或被追踪;
W //进入内存交换 (从内核2.6开始无效);
X //死掉的进程 (基本很少见);
Z //僵尸进程;
< //优先级高的进程
N //优先级较低的进程
L //有些页被锁进内存;
s //进程的领导者(在它之下有子进程);
l //多线程,克隆线程(使用 CLONE_THREAD, 类似 NPTL pthreads);
-
//位于后台的进程组;
7.2. 磁盘挂载
- df -h查看磁盘使用情况,-h是以mb gb等单位显示。
- fdisk -l查看系统当前连接的硬盘设置和信息(需要root权限)
- mount /dev/sdc1 空目录:将设备sdc1挂载到空目录上
- umount /dev/sdc1:卸载设备/sdc1
- sync :如果umount失败,使用sync同步数据可减少数据丢失的可能性
- eject sdc:弹出设备sdc
7.3. 终端相关
- ctl+alt+t 打开一个新的终端
- clear 清屏,但是保留着命令执行历史(即可以使用上下键补全);reset 重置,清楚历史,无法使用上下键补全
- exit 如果不是当前用户,则是退出其它用户;如果已经是当前用户,则表示退出终端。
- history 查看终端执行命令历史,默认显示1000行。需要注意的是,history显示的是当前用户的命令执行历史,因此不同用户使用history显示内容不同。
- pwd 查看当前路径。
7.3.1. 终端中程序在后台运行
-
nohup command 让任务后台执行,通常和&一起使用
nohup find / -name *.log &
该命令会提示“忽略输入并把输出追加到nohup.out”,如果后边没有加&的话,ctrl+c后任务终止;加上&后,在显示出提示信息后,按任意键可以回到终端命令行。使用jobs -l可以看到后台运行任务的状态,也可以使用ps aux|grep
- jobs -l 查看当前后台运行的任务序号、进程号、状态
- bg %n 让序号为n的任务后台运行。n为任务序号,
- fg %n 让序号为n的任务前台运行。n为任务序号
- bg和fg不带%n时,默认是对最后一个任务执行。
- ctrl+z 中止任务执行,注意不是终止。中止后可使用jobs -l查看。使用fg或者bg开始执行
- ctrl+c 强行终止任务
7.3.2. 输出重定向
默认情况下,在终端中执行命令,结果会输出到终端屏幕。但是在后头执行的脚本却无法把结果输出到屏幕。
重定向到文件使用>。>表示输出到文件,如果文件已经存在将会覆盖文件中原本的内容如下
date>1.log
如果不想覆盖而是追加,则使用>>
date>>1.log
8. shell编程
参考:Shell 教程
注意点
- 文件开头:#!/bin/bash
- .sh文件必须要有可执行权限(x权限)
- 执行方式:./文件名 或者 sh 文件名
- 在windows上编写的sh文件,如果在linux上无法执行,需要转一下格式,简单的做法就是在linux下重现复制粘贴一下。
示例:
#!/bin/bash
echo 'hello world'
8.1. Shell 变量
8.1.1. 变量定义
注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量名的命名须遵循如下规则:
- 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
- 中间不能有空格,可以使用下划线(_)。
- 不能使用标点符号。
- 不能使用bash里的关键字(可用help命令查看保留关键字)。
8.1.2. 使用变量
使用一个定义过的变量,只要在变量名前面加美元符号即可,如:
your_name="qinjx"
echo $your_name
echo ${your_name}
8.1.3. 将命令输出到变量
1.两种实现语法
var=$(命令)
var=`命令` # 注意此处不是普通的单引号
注意:
a. 这两种语法均可实现将命令执行结果保存到var变量中,但是特殊情况下两种方式无法得到正确结果
b. 如果命令执行过程中发生错误,则输出的错误信息不会保存到var变量中
在b这种情况下可尝试直接使用var=’命令’将命令作为字符串保存到变量中,这样当引用变量时即执行该命令,自然也在使用处可直接使用到命令返回值,缺点在于多次使用变量命令则多次执行。
var=`date`
echo $var
9. 软件相关
9.1. 软件安装
9.1.1. 源码安装
参考如下
【转】./configure && make && make install详解
我是在安装nginx的过程中开始接触./configure、make和make install的。下边是自己的一些见解
9.1.1.1. /configure
解压的源码包中可以看到configure这个文件,所以./configure就是执行的这个文件。从网上的资料来看,这个文件是用来检查系统的配置是否符合软件的要求。
9.1.1.2. make
make将像Java开发的编译一样,检查源码是否有问题
9.1.1.3. make install
这条命令来进行安装(当然有些软件需要先运行 make check 或 make test来进行一些测试),这一步一般需要你有 root 权限(因为要向系统写入文件)
9.2. openssh
- 安装openssh-server:sudo apt install openssh-server
- 开启服务:/etc/init.d/ssh start
- 在Windows中下载PuTTy,exe文件,可直接执行,无需安装:需要输入IP和端口
9.3. svn
- svn ci 提交文件
- svn update 更新文件
- svn info查看当前文件夹下的svn信息
9.4. wps
- wps:打开word相关;
- et可以打开 excel
- wpp可以打开ppt相关。
9.5. nginx
需要先安装pcre
9.5.1. 安装pcre
如果遇到error,看一下是不是权限问题,如果是权限问题,那么给个sudo。
tar –zxvf pcre-8.36.tar.gz
cd pcre-8.36
./configure
make
sudo make install
9.5.2. 安装nginx
./configure后的–prefix带不带都行,如果不带,则是在/usr/local/nginx下
cd /usr/local/nginx-1.9.1
./configure --prefix=/usr/local/nginx-1.9.1
make
make install
9.5.3. 运行nginx
在/usr/local/nginx/sbin下有一个nginx文件,这个就是可执行文件,cd到这个目录下边执行./nginx,如果遇到权限上的问题,请使用sudo
sudo ./nginx
检查nginx.conf配置文件是否正确
sudo ./nginx -t
如果没有问题,结果是这样的
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
否则,请仔细查看输出的信息,并修改
重新加载配置文件,使配置生效
sudo ./nginx -s reload
9.5.4. 配置nginx
使用正则配置二级域名的转发失败了,暂时还不知道问题出在哪里。
nginx.conf在usr/local/nginx/conf下,我配置的转发如下
location /{
tcp_nodelay on;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://test.com:8081/;
#以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
root html;
index index.html index.htm;
}
location /bi/{
tcp_nodelay on;
proxy_set_header Host $host;
proxy_set_header X-Real-Ip $remote_addr;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_pass http://10.10.65.84:8077;
#以上三行,目的是将代理服务器收到的用户的信息传到真实服务器上
root html;
index index.html index.htm;
}
9.5.5. nginx中关于正则的内容
这个我参考网上的,但是在实际操作中并没有用到,也不知道是不是有问题。
Nginx正则表达式之匹配操作符详解
9.5.6. 其它
9.5.7. 日志
如果没有改动配置的话,nginx的配置默认是在usr/local/nginx/logs下
关于日志的参考如下
nginx的日志
上一篇: css如何修改默认滚动条样式
下一篇: Python过滤列表