【Linux基础和Nginx】

本文详细介绍了Linux的基础知识,包括Linux的概念、软件安装方法和常用命令。此外,文章还深入讲解了Nginx服务器的工作原理、配置反向代理以及负载均衡的应用,适合初学者和系统管理员学习。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Linux基础和Nginx
    

Linux概念:

概念;Linux是基于Unix的一种多用户多任务操作系统
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机

      

 插件下载安装:

Linux上软件安装:
  Linux上的软件安装有以下几种常见方式介绍
1.    二进制发布包
软件已经针对具体平台编译打包发布,只要解压,修改配置即可
2.    RPM包
软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装
3.    Yum在线安装
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题
4.    源码编译安装
软件以源码工程的形式发布,需要获取到源码工程后用相应开发工具进行编译打包部署。
  上传与下载工具介绍
1.    FileZilla

下载之后通过tar -zxvf tar包 指定路径解压缩

5配置服务
        

文件类型
            Linux三种文件类型:
                目录文件: Linux系统把目录看成是一种特殊的文件,利用它构成文件系统的树型结构。
                普通文件: 包括文本文件、数据文件、可执行的二进制程序文件等。
                设备文件: Linux系统把每一个设备都看成是一个文件

 普通文件(-)目录(d)符号链接(l)
* 进入etc可以查看,相当于快捷方式字符设备文件(c)块设备文件(s)套接字(s)命名管道(p)
            域名映射
/etc/hosts文件用于在通过主机名进行访问时做ip地址解析之用,相当于windows系统的C:\Windows\System32\drivers\etc\hosts文件的功能

             网络服务管理
service network status 查看指定服务的状态
service network stop 停止指定服务
service network start 启动指定服务
service network restart 重启指定服务

service --status–all 查看系统中所有后台服务
netstat –nltp 查看系统中网络进程的端口监听情况

防火墙设置
防火墙根据配置文件/etc/sysconfig/iptables来控制本机的”出”、”入”网络访问行为。
service iptables status 查看防火墙状态
service iptables stop 关闭防火墙
service iptables start 启动防火墙
chkconfig  iptables off 禁止防火墙自启


          

        常用命令
            切换目录命令cd、 列出文件列表:ls ll、创建目录和移除目录:mkdir rmdir
             浏览文件
【cat、more、less】
cat用于显示文件的内容。格式:cat[参数]<文件名>
 cat yum.conf
more一般用于要显示的内容会超过一个画面长度的情况。按空格键显示下一个画面。
回车显示下一行内容。
按 q 键退出查看。
 more yum.conf
  空格显示下一页数据  回车显示下一行的数据
less用法和more类似,不同的是less可以通过PgUp、PgDn键来控制。
   less yum.conf
    PgUp 和 PgDn 进行上下翻页.
【tail】
tail命令是在实际使用过程中使用非常多的一个命令,它的功能是:用于显示文件后几行的内容。
用法:
tail -10 /etc/passwd    查看后10行数据
tail -f catalina.log    动态查看日志(*****)
ctrl+c 结束查看

             文件操作:
【rm】
rm  删除文件
用法:rm [选项]... 文件...
rm a.txt    删除a.txt文件
删除需要用户确认,y/nrm 删除不询问
rm -f a.txt    不询问,直接删除rm 删除目录
rm -r a    递归删除不询问递归删除(慎用)
rm -rf  a    不询问递归删除
rm -rf *      删除所有文件
rm -rf /*      自杀
http://imgsrc.baidu.com/forum/w%3D580/sign=00fefe23dd09b3deebbfe460fcbe6cd3/940f918fa0ec08fa078d4aec55ee3d6d54fbdafc.jpg
【cp、mv】
cp(copy)命令可以将文件从一处复制到另一处。一般在使用cp命令时将一个文件复制成另一个文件或复制到某目录时,需要指定源文件名与目标文件名或目录。
cp a.txt b.txt    将a.txt复制为b.txt文件
cp a.txt ../    将a.txt文件复制到上一层目录中
mv 移动或者重命名
mv a.txt ../    将a.txt文件移动到上一层目录中
mv a.txt b.txt    将a.txt文件重命名为b.txt

【tar】命令:(***** 打包或解压)
tar命令位于/bin目录下,它能够将用户所指定的文件或目录打包成一个文件,但不做压缩。一般Linux上常用的压缩方式是选用tar将许多文件打包成一个文件,再以gzip压缩命令压缩成xxx.tar.gz(或称为xxx.tgz)的文件。常用参数:
-c:创建一个新tar文件
-v:显示运行过程的信息
-f:指定文件名
-z:调用gzip压缩命令进行压缩
-t:查看压缩文件的内容
-x:解开tar文件

打包:
tar –cvf xxx.tar ./*
打包并且压缩:
tar –zcvf xxx.tar.gz ./*
解压
     tar –xvf xxx.tar
tar -zxvf xxx.tar.gz -C /usr/aaa
【find】命令
find指令用于查找符合条件的文件
示例:
find / -name “ins*” 查找文件名称是以ins开头的文件
find / -name “ins*” –ls
find / –user itcast –ls 查找用户itcast的文件
find / –user itcast –type d –ls 查找用户itcast的目录
find /-perm -777 –type d-ls 查找权限是777的文件
【grep】命令
查找文件里符合条件的字符串。
用法: grep [选项]... PATTERN [FILE]...示例:
grep lang anaconda-ks.cfg  在文件中查找lang
grep lang anaconda-ks.cfg –color 高亮显示
 
             其他常用命令
【pwd】
显示当前所在目录
【touch】
创建一个空文件
* touch a.txt
【clear/ crtl + L】
清屏


             Vi和Vim编辑器
1. Vim编辑器:
在Linux下一般使用vi编辑器来编辑文件。vi既可以查看文件也可以编辑文件。三种模式:命令行、插入、底行模式。
切换到命令行模式:按Esc键;
切换到插入模式:按 i 、o、a键;
    i 在当前位置前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行

切换到底行模式:按 :(冒号);更多详细用法,查询文档《Vim命令合集.docx》和《vi使用方法详细介绍.docx》


打开文件:vim file
退出:esc  :q
修改文件:输入i进入插入模式
保存并退出:esc:wq

不保存退出:esc:q!

三种进入插入模式:
i:在当前的光标所在处插入
o:在当前光标所在的行的下一行插入
a:在光标所在的下一个字符插入

快捷键:
dd – 快速删除一行
yy - 复制当前行
nyy - 从当前行向后复制几行
p - 粘贴

            2. 重定向输出>和>>
>  重定向输出,覆盖原有内容;>> 重定向输出,又追加功能;示例:
cat /etc/passwd > a.txt  将输出定向到a.txt中
cat /etc/passwd >> a.txt  输出并且追加

ifconfig > ifconfig.txt

            统管理命令
ps 正在运行的某个进程的状态
ps –ef  查看所有进程
ps –ef | grep ssh 查找某一进程
kill 2868  杀掉2868编号的进程
kill -9 2868  强制杀死进程

管道 |
管道是Linux命令中重要的一个概念,其作用是将一个命令的输出用作另一个命令的输入。示例
ls --help | more  分页查询帮助信息
ps –ef | grep java  查询名称中包含java的进程

ifconfig | more
cat index.html | more
ps –ef | grep aio

            r:对文件是指可读取内容 对目录是可以ls

w:对文件是指可修改文件内容,对目录 是指可以在其中创建或删除子节点(目录或文件)

x:对文件是指是否可以运行这个文件,对目录是指是否可以cd进入这个目录

        项目部署
            部署项目到Linux
1. 修改pom配置
在pom.xml中添加<finalName>
    修改jdk版本1.7
   2. 修改项目
    2.1 druid.properties     
3. 将war包上
2.2 header.html
3.3    route_de2.3 route_detail.html
4. 将war包上传到
3. 使用package命令打包
4. 将travel.war上传到tomcat中的webapps目录
5. 重启tomcat
6. 到出本地mysql数据,并导入linux中的mysql
        概念;Linux是基于Unix的一种多用户多任务操作系统
Linux是一种自由和开放源码的操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、台式计算机

         Linux系统的应用:
服务器系统Web应用服务器、数据库服务器、接口服务器、DNS、FTP等等;
嵌入式系统路由器、防火墙、手机、PDA、IP 分享器、交换器、家电用品的微电脑控制器等等,
高性能运算、计算密集型应用Linux有强大的运算能力。
桌面应用系统
移动手持系统

    Nginx概念:

Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。


        反向代理:
            反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器.


            配置反向代理
(1)在Nginx主机修改 Nginx配置文件
   upstream tomcat-travel{
       server 192.168.177.129:8080;
    }

    server {
        listen       80; # 监听的端口
        server_name  www.hmtravel.com; # 域名或ip
        location / {    # 访问路径配置
            # root   index;# 根目录
        proxy_pass http://tomcat-travel;
            index  index.html index.htm; # 默认首页
        }
}
(2)重新启动Nginx  然后用浏览器测试:http://www.hmtravel.com  (此域名须配置域名指向)

        负载均衡
            负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

        概念
            Nginx 是一款高性能的 http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师伊戈尔·西索夫(Igor Sysoev)所开发,官方测试 nginx 能够支支撑 5 万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定。
                Nginx 应用场景:
1、http 服务器。Nginx 是一个 http 服务可以独立提供 http 服务。可以做网页静态服务器。
2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用 nginx 做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。  

        安装及其配置
            Nginx在Linux下的安装
            重新准备一台虚拟机作为服务器。比如IP地址为192.168.177.129  
            2.2.1环境准备
            (1)需要安装 gcc 的环境【此步省略】
            yum install gcc-c++
            (2)第三方的开发包。
             PCRE
               PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库。
            yum install -y pcre pcre-devel
            注:pcre-devel 是使用 pcre 开发的一个二次开发库。nginx 也需要此库。
              zlib
            zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行 gzip,所以需要在 linux 上安装 zlib 库。
            yum install -y zlib zlib-devel
              OpenSSL
            OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。nginx 不仅支持 http 协议,还支持 https(即在 ssl 协议上传输 http),所以需要在 linux安装 openssl 库。
            yum install -y openssl openssl-devel
            2.2.2 Nginx下载
            官方网站下载 nginx:http://nginx.org/
            我们课程中使用的版本是 1.8.0 版本。
            2.2.3 Nginx安装
            第一步:把 nginx 的源码包nginx-1.8.0.tar.gz上传到 linux 系统
            第二步:解压缩
            tar zxvf nginx-1.8.0.tar.gz
            第三步:进入nginx-1.8.0目录   使用 configure 命令创建一 makeFile 文件。
            ./configure \
            --prefix=/usr/local/nginx \
            --pid-path=/var/run/nginx/nginx.pid \
            --lock-path=/var/lock/nginx.lock \
            --error-log-path=/var/log/nginx/error.log \
            --http-log-path=/var/log/nginx/access.log \
            --with-http_gzip_static_module \
            --http-client-body-temp-path=/var/temp/nginx/client \
            --http-proxy-temp-path=/var/temp/nginx/proxy \
            --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
            --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
            --http-scgi-temp-path=/var/temp/nginx/scgi
            执行后可以看到Makefile文件
            第四步:编译
make
第五步:安装
make install
2.3 Nginx启动与访问
注意:启动nginx 之前,上边将临时文件目录指定为/var/temp/nginx/client, 需要在/var  下创建此 目录
mkdir /var/temp/nginx/client -p
进入到Nginx目录下的sbin目录
cd /usr/local/ngiux/sbin
输入命令启动Nginx
./nginx
启动后查看进程
ps aux|grep nginx

 
地址栏输入虚拟机的IP即可访问(默认为80端口)

关闭 nginx:
./nginx -s stop
或者
./nginx -s quit
重启 nginx:
1、先关闭后启动。
2、刷新配置文件:
./nginx -s reload

            Nginx静态网站部署
3.1 静态网站的部署
将/资料/静态页面/index目录下的所有内容 上传到服务器的/usr/local/nginx/html下即可访问

    经验总结:


        创建虚拟机时候一定要从三级目录开始创建不要轻易改动二级目录。

否则就会有血的教训:

比如当初我创建了root/user/local目录,但Nginx默认安装目录是usr/local/……我把Nginx安装到前一个local之后,服务配置却在usr目录下,同时部署网页项目的路径也从usr那边之后就会出现Nginx能访问tomcat网页却无法访问项目的网页。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值