回顾:LNMP 设计理念:不改现有架构去优化,不得已再软件重构,开发以能用为目的
LVS\nginx LN P nosql mysql
LN P
调度器:流量分发 ;异地机房缓存:squid\varnish ;
一台服务器2万*4,raid5最少3个
yum update /升级服务器上软件包的版本
#######################################
版本控制:subversion软件(简称svn)
(达内TTS)文档[java,conf,shell,PPT]
subversion是一个自由/开源的版本控制系统,文件和目录可以超越时空,恢复到早期版本,或检查修改的历史。
应用场景:一个文档需多人协作并跟踪修改;恢复或查看修改的历史;
版本库:版本控制的核心;任意数量的客户端;客户端通过写数据库分享代码
核心任务:协作编辑和数据共享;允许共享信息;防止意外覆盖 特点:记录每一次改变
锁定-修改-解锁模型:导致管理问题(A锁定后忘记解锁等);导致不必要的串行开发、轮流工作效率底
拷贝-修改-合并模型(SVN、git):每个客户建立个人工作副本,并行工作;个别冲突手动解决
########################################
192.168.2.100(svn服务器-仓库)
1.安装软件
#yum -y install subversion
2.创建仓库目录
#mkdir /var/svn/ //普通目录
#svnadmin create /var/svn/project1 //创建仓库
# ls /var/svn/project1
#du -sh /var/svn/project1
3.导入一些文档[配置文件或shell或java或php脚本]
# 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/
1 案例1:Subversion基本操作
2 案例2:使用Subversion协同工作
3 案例3:制作nginx的RPM包
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 //定义组账户,组成员为harry和tom
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账户检查数据,建立本地副本
6
7 -----------------------------------------------------------------------
8 ATTENTION! Your password for authentication realm:
9
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
6
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