Subversion基本操作 使用Subversion协同工作 制作nginx的RPM包

回顾:LNMP  设计理念:不改现有架构去优化,不得已再软件重构,开发以能用为目的

    LVS\nginx     LN P    nosql   mysql

LN P

调度器:流量分发  ;异地机房缓存:squid\varnish

一台服务器2*4raid5最少3

 

yum  update  /升级服务器上软件包的版本

 

#######################################

 

版本控制:subversion软件(简称svn

 

(达内TTS)文档[java,conf,shell,PPT]

 

subversion是一个自由/开源的版本控制系统,文件和目录可以超越时空,恢复到早期版本,或检查修改的历史。

应用场景:一个文档需多人协作并跟踪修改;恢复或查看修改的历史;

版本库:版本控制的核心;任意数量的客户端;客户端通过写数据库分享代码

核心任务:协作编辑和数据共享;允许共享信息;防止意外覆盖   特点:记录每一次改变

锁定-修改-解锁模型:导致管理问题(A锁定后忘记解锁等);导致不必要的串行开发、轮流工作效率底

拷贝-修改-合并模型(SVNgit):每个客户建立个人工作副本,并行工作;个别冲突手动解决

########################################

192.168.2.100svn服务器-仓库)

1.安装软件

#yum -y install subversion

2.创建仓库目录

#mkdir  /var/svn/ //普通目录

#svnadmin create /var/svn/project1   //创建仓库

# ls  /var/svn/project1

#du -sh /var/svn/project1

3.导入一些文档[配置文件或shelljavaphp脚本]

# ls -r /usr/lib/systemd/system | wc -l

# ls -R /usr/lib/systemd/system | wc -l

#cd /usr/lib/systemd/system

#svn  import  .   file:///var/svn/project1   -m   "ceshi"

#svn  import  .   svn/http:/var/svn/project1   -m   "service config file"

//将当前目录下的文档,导入到SVN仓库,-m后设置描述信息(原因)

 

4.查看导入的文档

#svn list  file:///var/svn/project1

5.修改配置文件  

#vim  /var/svn/project1/conf/svnserve.conf

19:anon-access = none //匿名没有权限

20:auth-access = write //有效用户可读可写

27:password-db = passwd //账户信息文件

34:authz-db = authz       //权限配置文件

#vim /var/svn/project1/conf/passwd

tom = 123456 //添加账户与密码

jerry = 123456 //添加账户与密码

#vim  /var/svn/project1/conf/authz

[/]            //  /var/svn/project1

tom = rw

jerry = rw

 

 [/foo/bar]     

 harry = rw

 &joe = r      //

 * =     //其他人

6.起服务,重起  

启动服务,-d后台,-r项目的根路径--共享仓库,仓库目录为/var/svn/project1/

启动的端口号为3690

#svnserve -d  -r  /var/svn/project1/

# netstat -antpu | grep 3690             //13836/svnserve

 

# kill -9 13836

# netstat -antpu | grep 3690

# svnserve -d -r  /var/svn/project1/

##########################################

客户端:192.168.2.200操作:

#yum -y install subversion

#svn  --help

1.下载代码到本地副本

#svn co --username  tom  --password  123456  svn://192.168.2.100  /temp/code         //第一次登录

#svn co  svn://192.168.2.100  /temp/code   //非第一次登录

(将服务器上的文档下载到本地/temp/code目录下;co(checkout)下载,code目录会自动创建)

2.本地修改代码,上传到服务器

# vim /temp/code/user.slice      //任意修改任意文件

# svn ci -m "dfjds"  /temp/code/user.slice    //commit(ci)提交到服务器

3.连接服务器将本地副本的数据更新,或还原被误删的数据

#rm -rf   /temp/code/user.slice

#svn  update  /temp/code/  

4.查看

#svn   log   svn://192.168.2.100    //查看历史记录,看谁在改

# svn  info  svn://192.168.2.100  //查看仓库的基本信息

5.新建文档

#echo  chenguizhen > /temp/code/b.conf    //新建文件

#svn add  /temp/code/b.conf //svn识别该文件

#svn  ci  -m  "xinjian"  /temp/code/    //提交到服务器

6.删除修改等文档

# svn  del /temp/code/user.slice  

# svn  rm /temp/code/user.slice  

#svn cp    old   new     //复制

#svn mkdir test      建目录

#svn  mv old   new    //重命名

# svn  ci  -m  "rm/cp/mk/mv"  /temp/code/user.slice  //提交到服务器

 

7.查看本地副本和服务器的差异

#svn diff /temp/code/ //查看所有差异

#svn diff /temp/code/zram.service //查看某个文件的差异

8.查看服务器上版本文档的全部内容

#svn cat  svn://192.168.2.100/a.conf

 

9.数据丢失,如何恢复数据  

     1)本地修改但没有提交

#vim /temp/code/a.conf   //修改了内容

#svn   revert   /temp/code/a.conf

     2)本地修改,并提交了服务器(大量数据需要还原)

# svn co -r1  svn://192.168.2.100  /temp/code2

从服务器下载版本1中的所有代码(不加-r默认取最新版)

    3)本地修改,并提交了服务器(个别数据需要还原)

    # svn  merge  -r6:1  /temp/code/a.conf

//将某一个文件的第1个版本还原在第6个版本上

##########################################

案例:多人协同办公

1.修改不同文件

#cd /temp/mycode

tom# sed -i   '1a tom modify this file'    zram.service

tom#svn ci -m "ttt" 成功

jerry#sed -i   '$a jerry modify'     user.slice

jerry#svn ci -m "jjjj"    成功

 

tom #svn update

jerry#svn update

2.修改相同文件的不同行(修改之前9版本)

tom #sed -i  '2a  xxxx'  umount.target

tom #svn  ci  -m "tttt" //成功(10版本)

jerry#sed -i  '3a  yyyy'  umount.target

jerry#svn  ci  -m "jjj"      //失败(9版本)

 

jerry#svn   update //自动合并文件(9,10,11)

jerry#svn  ci  -m  "jjj"      //成功(11版本)

tom#svn update      //成功(11版本)

 

3.修改相同文件的相同行

tom#sed -i '1c [unit]'  upower.service

tom#svn  ci  -m "ttt"     //成功

 

jerry#sed -i '1c [UNIT]'  upower.service

jerry#svn  ci -m "jjjj"     //失败,提示过期

jerry#svn  update //失败,提示冲突

根据提示选择p,稍后解决,推迟,待协商

jerry#ls | more

jerry#mv  a.conf.mine(我的)   a.conf(冲突对比)    //正确的覆盖冲突文件

jerry#rm -rf   a.conf.r11(原件)   a.conf.r12(对方的)   //删除多余文件

解决冲突,需要把多余的文件删除,最后仅保留一个最终版本的文档

jerry#svn  ci  -m "jjj"    //成功

jerry#svn  update

tom#svn  update

#########################################

 

Linux服务器svn仓库

windows版客户端软件:TortoiseSVN

apple

 

管理员备份仓库

#du -sh /var/svn/project1

1.备份:

#svnadmin dump /var/svn/project1/ > /root/pro.bak

2.还原数据

#svnadmin create /var/svn/project2

#svnadmin load /var/svn/project2 < /root/pro.bak

 

##########################################

RPM打包:使用源码包制作RPM

RPM包:压缩包、描述信息

打包流程:准备源码包、安装rpm-build

 

RHEL光盘的Packages/目录中,拷贝一个软件包,到一个空目录

如:

#cp httpd-2.4.6-40.el7.x86_64.rpm /temp

#cd /temp

#rpm2cpio httpd-2.4.6-40.el7.x86_64.rpm | cpio -ivd   //注意管道符号|

#rpm -qpi  httpd-2.4.6-40.el7.x86_64.rpm     /查看包的属性

#rpm -qpl  httpd-2.4.6-40.el7.x86_64.rpm    /查看包里内容

 

RPM对数据压缩包,写描述信息

 

源码包---RPM[数据打包+写描述信息]

 

#yum -y  install rpm-build

#ls  /root/  //观察目录结构

#rpmbuild  -ba  a.spec     //会报错

#ls  /root       //观察目录结构,多了rpmbuild

# ls /root/rpmbuild/      

RPMS--存放成果  SOURCES--存放源码包  SPECS--写文件说明如何编译安装及描述信息

BUILDROOT--虚拟根目录用于装包

 

1.把源码包拷贝到SOURCES

# cp  /opt/lnmp_soft/nginx-1.8.0.tar.gz  /root/rpmbuild/SOURCES/

2.spec文件

#vim  /root/rpmbuild/SPECS/nginx.spec  /回车后有内容

描述信息

Name:nginx

Version:1.8.0

Release:12    /第几次打这个包

Summary:this is a web server  /描述信息

#Vendor:     /作者

#Group:         /哪个组包

License:GPL   /协议GPL:任意下载修改传播

URL:www.a.com   /网址

Source0:nginx-1.8.0.tar.gz  /源码包名,不能有误

#BuildRequires:   /提示依赖包

#Requires:      

%description    /详细描述

this is a web server too

 

脚本--自动解压

%prep //安装前准备工作

%setup -q //解压源码,cd进去

%build //编译

./configure  --with-htt//你准备把哪些内容打包

p_ssl_module  

make %{?_smp_mflags}

%install //安装软件

make install DESTDIR=%{buildroot}

%files

%doc      //你准备把哪些内容打包

/usr/local/nginx/*

 

#yum -y install gcc zlib-devel pcre-devel

#rpmbuild -ba /root/rpmbuild/SPECS/nginx.spec

 

#ls /root/rpmbuild/RPMS/x86/软件包

#scp -r nginx-1.8.0-11.x86_64.rpm  192.168.2.200:/root/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

案例1Subversion基本操作 

案例2:使用Subversion协同工作 

案例3:制作nginxRPM 

1 案例1:Subversion基本操作

1.1 问题

本案例要求先快速搭建好一台Subversion服务器,并测试该版本控制软件:

  • 创建版本库
  • 导入初始化数据
  • 检出数据至用户本地副本
  • 对本地副本进行增删改查等操作

1.2 方案

使用YUM安装subversion软件,使用svn客户端工具连接svnserver服务器并测试版本控制软件。

使用svn命令测试svnserver服务时可以使用的命令列表如表-1所示。

表-1 svn命令列表

 

1.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装Subversion服务器

1)YUM安装subversion软件

1 [root@svr5 ~]# yum -y install subversion

2 [root@svr5 ~]# rpm -q subversion

2)创建版本库

1 [root@svr5 ~]# mkdir /var/svn/

2 [root@svr5 ~]# svnadmin create /var/svn/project

3 [root@svr5 ~]# ls /var/svn/project/

4 conf/  db/  format  hooks/  locks/  README.txt

3)修改配置文件,创建账户与密码

1 [root@svr5 ~]# vim /var/svn/project/conf/svnserve.conf

2 [general]

3 ### These options control access to the repository for unauthenticated

4 ### and authenticated users.  Valid values are "write", "read",

5 ### and "none".  The sample settings below are the defaults.

6 anon-access = none        //匿名无任何权限

7 auth-access = write        //有效账户可写

8 ### The password-db option controls the location of the password

9 ### database file.  Unless you specify a path starting with a /,

10 ### the file's location is relative to the directory containing

11 ### this configuration file.

12 ### If SASL is enabled (see below), this file will NOT be used.

13 ### Uncomment the line below to use the default password file.

14 # password-db = passwd    //密码文件

15 ### The authz-db option controls the location of the authorization

16 ### rules for path-based access control.  Unless you specify a path

17 ### starting with a /, the file's location is relative to the the

18 ### directory containing this file.  If you don't specify an

19 ### authz-db, no path-based access control is done.

20 ### Uncomment the line below to use the default authorization file.

21 # authz-db = authz        //ACL访问控制列表文件

22 ### This option specifies the authentication realm of the repository.

23 ### If two repositories have the same authentication realm, they should

24 ### have the same password database, and vice versa.  The default realm

25 ### is repository's uuid.

26 # realm = My First Repository

27 [root@srv5 ~]# vim /var/svn/project/conf/passwd

28 ### This file is an example password file for svnserve.

29 ### Its format is similar to that of svnserve.conf. As shown in the

30 ### example below it contains one section labelled [users].

31 ### The name and password for each user follow, one account per line.

32 

33 [users]

34 harry = pass            //用户名和密码

35 tom= pass                //用户名和密码

36 [root@svr5 ~]# cat /var/svn/project/conf/authz

37 ### This file is an example authorization file for svnserve.

38 ### Its format is identical to that of mod_authz_svn authorization

39 ### files.

40 ### As shown below each section defines authorizations for the path and

41 ### (optional) repository specified by the section name.

42 ### The authorizations follow. An authorization line can refer to:

43 ###  - a single user,

44 ###  - a group of users defined in a special [groups] section,

45 ###  - an alias defined in a special [aliases] section,

46 ###  - all authenticated users, using the '$authenticated' token,

47 ###  - only anonymous users, using the '$anonymous' token,

48 ###  - anyone, using the '*' wildcard.

49 ###

50 ### A match can be inverted by prefixing the rule with '~'. Rules can

51 ### grant read ('r') access, read-write ('rw') access, or no access

52 ### ('').

53 

54 [aliases]

55 # joe = /C=XZ/ST=Dessert/L=Snake City/O=Snake Oil, Ltd./OU=Research Institute/CN=Joe Average

56 

57 [groups]

58 harry_and_tom = harry,tom            //定义组账户,组成员为harrytom

59 

60 [/]                                //定义ACL访问控制

61 @harry_and_sally = rw                //harry_and_sally组成员对项目可读可写

62 * = r                            //其他人只读

4)启动服务

1 [root@svr5 ~]# systemctl start svnserve

2 [root@svr5 ~]# netstat -nutlp |grep svnserve

3 tcp        0      0 0.0.0.0:3690    0.0.0.0:*    LISTEN      4043/svnserve       

步骤二:客户端测试

1)本地导入初始化数据

1 [root@srv5 ~]# cd /etc/rc.d/init.d/

2 [root@srv5 ~]# svn import . file:///var/svn/project/ -m "Init Data"

3 [root@srv5 ~]# cd /var/tmp

4 [root@srv5 ~]# svn --username harry --password pass \

5 co svn://127.0.0.1/var/svn/project harry        //harry账户检查数据,建立本地副本

7 -----------------------------------------------------------------------

8 ATTENTION!  Your password for authentication realm:

10    <svn://127.0.0.1:3690> b72f45f0-bbe5-4a0c-ad4a-37f52704f0b1

11 

12 can only be stored to disk unencrypted!  You are advised to configure

13 your system so that Subversion can store passwords encrypted, if

14 possible.  See the documentation for details.

15 

16 You can avoid future appearances of this warning by setting the value

17 of the 'store-plaintext-passwords' option to either 'yes' or 'no' in

18 '/root/.subversion/servers'.

19 -----------------------------------------------------------------------

20 Store password unencrypted (yes/no)? yes            //提示是否保存密码

21 A    harry/netfs

22 A    harry/kdump

23 A    harry/acpid

24 A    harry/blk-availability

25 A    harry/killall

26 A    harry/NetworkManager

27 A    harry/quota_nld

28 A    harry/udev-post

29 A    harry/haldaemon

30 A    harry/saslauthd

31 A    harry/network

32 vim test.sh

33 [root@srv5 ~]# cd /var/tmp/harry

34 [root@srv5 harry]# ls

35 [root@srv5 harry]# vim test.sh             //新建脚本文件

36 #!/bin/bash

37 case $1 in

38 start)

39     echo start;;

40 stop)

41     echo stop;;

42 *)

43     echo Error

44 esac

45 [root@srv5 harry]# chmod +x test.sh

46 [root@srv5 harry]# svn add test.sh            //将文件或目录加入版本控制

47 [root@srv5 harry]# svn mkdir subdir        //创建子目录

48 [root@srv5 harry]# svn status                //检查状态,结果为两个添加append

49 A       test.sh

50 A       subdir

51 [root@srv5 harry]# svn del cups            //删除版本库中的文件

52 [root@srv5 harry]# svn move test.sh test    //脚本重命名

53 A         test

54 D         test.sh

55 [root@srv5 harry]# svn commit -m "add a file and subdir,remove cups file"    

56                                             //将本地副本的修改提交版本库

57 Deleting       cups

58 Adding         subdir

59 Adding         test

60 Transmitting file data .

61 Committed revision 2.

62 [root@srv5 harry]# sed -i '1a##test###' halt    //修改本地副本中的代码文件

63 [root@srv5 harry]# sed -i '2a###test###' killall

64 [root@srv5 harry]# svn diff killall            //查看单个文件本地副本与版本库的差异

65 [root@srv5 harry]# svn diff                    //查看所有本地副本与版本库的差异

66 [root@srv5 harry]# svn log svn://127.0.0.1/var/svn/project    //查看修改历史

67 [root@srv5 harry]# svn update                //更新本地副本文件,从版本库下载更新数据

68 [root@srv5 harry]# cd  /var/tmp

69 [root@srv5 tmp]# svn –r2 co svn://127.0.0.1/var/svn/project  code2 //下载历史版本

70 [root@srv5 tmp]# cd harry

71 [root@srv5 harry]# svn merge –r10:5  killall

2 案例2:使用Subversion协同工作

2.1 问题

沿用练习一,通过svn工具,对subversion版本库进行多人协同工作测试,要求如下:

  • 使用subversion管理公司的shell脚本
  • 脚本包括/etc/rc.d/init.d/目录下的启动脚本
  • 以及任何用户自己编写的脚本
  • 创建脚本版本库
  • 该版本库支持多个账户同时协作编辑脚本
  • 测试演示多人协作编辑的具体操作
  • 手动解决版本冲突问题
  • 备份版本库数据

2.2 方案

使用svn客户端工具连接subversion服务器并测试多人协同工作以及如何手动解决冲突问题,账户名称分别为harry和tom,最后使用svnadmin dump指令对版本库进行备份工作。

2.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:多人协同工作

1)远程连接两个终端,每个人下载代码本地副本,注意user1和user2代表了两个不同的主机,看清楚操作是在哪一台计算机上执行!

1 [user1@srv5 ~]# svn --username harry --password pass co svn://127.0.0.1/project harry

2 [user2@srv5 ~]# svn --username tom --password pass co svn://127.0.0.1/project tom

3 [user1@srv5 ~]# ls harry

4 [user2@srv5 ~]# ls tom

2) harry和tom修改不同的文件

1 [user1@srv5 ~]# cd harry

2 [user1@srv5 harry]# sed -i "3a###harry\'s modify#####" svnserve

3 [user1@srv5 harry]# svn commit -m "svnserve has modified"

4 [user2@srv5 ~]# cd tom

5 [user2@srv5 tom]# sed -i "3a###tom\'s modify#####" sshd

6 [user2@srv5 tom]# svn commit -m "sshd has modified"

7 [user1@srv5 harry]# svn update

8 [user2@srv5 tom]# svn update

3)harry和tom修改相同文件的不同行

1 [user1@srv5 ~]# cd harry

2 [user1@srv5 harry]# sed -i "10a###harry\'s modify#####" svnserve

3 [user1@srv5 harry]# svn commit -m "svnserve has modified"

4 [user2@srv5 ~]# cd tom

5 [user2@srv5 tom]# sed -i "20a###tom\'s modify#####" svnserve

6 [user2@srv5 tom]# svn commit -m "svnserve has modified"

7 Sending        svnserve

8 Transmitting file data .svn: Commit failed (details follow):

9 svn: File '/svnserve' is out of date

10 [user2@srv5 tom]# svn update            //提示失败后,先更新再提交即可

11 [user2@srv5 tom]# svn commit -m "svnserve has modified"

12 Sending        svnserve

13 Transmitting file data .

4) harry和tom修改相同文件的相同行

1 [user1@srv5 ~]# cd harry

2 [user1@srv5 harry]# sed -i "10c###harry\'s modify#####" svnserve

3 [user1@srv5 harry]# svn commit -m "svnserve has modified"

4 [user2@srv5 ~]# cd tom

5 [user2@srv5 tom]# sed -i "10c###tom\'s modify#####" svnserve

6 [user2@srv5 tom]# svn commit -m "svnserve has modified"

7 svn commit -m "svnserve has modified"

8 Sending        svnserve

9 Transmitting file data .svn: Commit failed (details follow):

10 svn: File '/svnserve' is out of date

11 [user2@srv5 tom]# svn update                    //出现冲突,需要解决

12 Conflict discovered in 'svnserve'.

13 Select: (p) postpone, (df) diff-full, (e) edit,

14         (mc) mine-conflict, (tc) theirs-conflict,

15         (s) show all options:p                    //选择先标记,随后解决

16 [user2@srv5 tom]# ls

17 svnserve   svnserve.mine        svnserve.r10        svnserve.r9

18 [user2@srv5 tom]# cp svnserve.mine svnserve

19 [user2@srv5 tom]# rm  svnserve.mine svnserve.r10 svnserve.r9

20 [user2@srv5 tom]# svn commit -m "svnserve has modified"    //解决冲突

步骤二:使用dump指令备份版本库数据

1 [root@srv5 ~]# svnadmin dump /var/svn/project > project.bak

2 * Dumped revision 0.

3 * Dumped revision 1.

4 * Dumped revision 2.

5 * Dumped revision 3.

6 * Dumped revision 4.

7 * Dumped revision 5.

8 * Dumped revision 6.

9 * Dumped revision 7.

10 * Dumped revision 8.

11 * Dumped revision 9.

12 * Dumped revision 10.

13 * Dumped revision 11.

3 案例3:制作nginx的RPM包

3.1 问题

本案例使用nginx-1.8.0版本的源码软件,生产对应的RPM包软件,具体要求如下:

  • 软件名称为nginx
  • 软件版本为1.8.0
  • RPM软件包可以查询描述信息
  • RPM软件包可以安装及卸载

3.2 方案

安装rpm-build软件包,编写SPEC配置文件,创建新的RPM软件包。

配置文件中的描述信息如表-2:

表-2 SPEC描述信息

 

3.3 步骤

实现此案例需要按照如下步骤进行。

步骤一:安装rpm-build软件

1)安装rpm-build软件包

1 [root@svr5 ~]# yum -y install  rpm-build

2)生成rpmbuild目录结构

1 [root@svr5 ~]# rpmbuild -ba nginx.spec

2 [root@svr5 ~]# ls /root/rpmbuild

3 BUILD  BUILDROOT  RPMS  SOURCES  SPECS  SRPMS

3)准备工作,将源码软件复制到SOURCES目录

1 [root@svr5 ~]# cp nginx-1.8.0.tar.gz /root/rpmbuild/SOURCES/

4)创建并修改SPEC配置文件

1 [root@svr5 ~]# vim SPECS/nginx.spec

2 Name:nginx        

3 Version:1.8.0

4 Release:    1%{?dist}

5 Summary:test    

7 License:GPL    

8 URL:    www.test.com    

9 Source0:nginx-1.8.0.tar.gz

10 

11 #BuildRequires:    

12 #Requires:    

13 

14 %description

15 test too

16 

17 %prep

18 %setup -q

19 

20 

21 %build

22 ./configure

23 make %{?_smp_mflags}

24 

25 

26 %install

27 make install DESTDIR=%{buildroot}

28 mkdir -p %{buildroot}/etc/init.d/

29 install /root/rpmbuild/SPECS/nginx.sh %{buildroot}/etc/init.d/

30 ##注意,这里是将一个脚本拷贝到安装目录,如果没有则不需要该指令

31 

32 %files

33 %doc

34 /etc/init.d/nginx.sh            #将前面拷贝的脚本,打包到RPM

35 /usr/local/nginx/*

36 

37 %changelog

步骤二:使用配置文件创建RPM包

1)安装依赖软件包

1 [root@svr5 ~]# yum –y install  gcc  pcre-devel zlib-devel

2)rpmbuild创建RPM软件包

1 [root@svr5 ~]# rpmbuild -ba SPECS/nginx.spec

2 [root@svr5 ~]# ls RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

3 [root@svr5 ~]# rpm -qpi RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

4 Name        : nginx        Relocations: (not relocatable)

5 Version     : 1.8.0        Vendor: (none)

6 Release     : 1            Build Date: Mon 02 May 2016 02:30:53 AM PDT

7 Install Date: (not installed)            Build Host: localhost

8 Group       : Applications/Internet        Source RPM: nginx-1.8.0-1.src.rpm

9 Size        : 721243                    License: GPL

10 Signature   : (none)

11 URL         : www.nginx.org

12 Summary     : Nginx is a web server software.

13 Description :

14 nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP proxy server, originally written by Igor Sysoev. For a long time, it has been running on many heavily loaded Russian sites including Yandex, Mail.Ru, VK, and Rambler.

15 [root@svr5 ~]# rpm -qpl RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

16 /usr

17 /usr/local

18 /usr/local/nginx

19 /usr/local/nginx/conf

20 /usr/local/nginx/conf/fastcgi.conf

21 /usr/local/nginx/conf/fastcgi.conf.default

22 /usr/local/nginx/conf/fastcgi_params

23 /usr/local/nginx/conf/fastcgi_params.default

24 /usr/local/nginx/conf/koi-utf

25 /usr/local/nginx/conf/koi-win

26 /usr/local/nginx/conf/mime.types

27 /usr/local/nginx/conf/mime.types.default

28 /usr/local/nginx/conf/nginx.conf

29 /usr/local/nginx/conf/nginx.conf.default

30 /usr/local/nginx/conf/scgi_params

31 /usr/local/nginx/conf/scgi_params.default

32 /usr/local/nginx/conf/uwsgi_params

33 /usr/local/nginx/conf/uwsgi_params.default

34 /usr/local/nginx/conf/win-utf

35 /usr/local/nginx/html

36 /usr/local/nginx/html/50x.html

37 /usr/local/nginx/html/index.html

38 /usr/local/nginx/logs

39 /usr/local/nginx/sbin

40 /usr/local/nginx/sbin/nginx

步骤三:安装、卸载软件

1 [root@svr5 ~]# rpm -ivh RPMS/x86_64/nginx-1.8.0-1.x86_64.rpm

2 [root@svr5 ~]# rpm -qa |grep nginx

3 [root@svr5 ~]# /usr/local/nginx/sbin/nginx

4 [root@svr5 ~]# curl http://127.0.0.1/

5 [root@svr5 ~]# /usr/local/nginx/sbin/nginx -s stop

6 [root@svr5 ~]# rpm -e nginx

 

转载于:https://www.cnblogs.com/fuzhongfaya/p/8952711.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值