开发环境入门 linux基础 (部分)nginx和nfs
nginx和nfs
复习总结
rpm -ivh 软件包 --nodeps (没有依赖性安装)
rpm -ivh 软件包 --force (覆盖安装)
yum -y upgrade 升级所有包,不改变软件设置和系统设置,不升级内核
yum update 在新装完系统操作,其是软件和内核一起升级。
后期升级的话,用yum -y upgrade升级软件。
./configure ***** #-------->makefile
看系统状态
cat /proc/meminfo 查看内存信息
cat /proc/cpuinfo 查看CPU信息
查看硬盘 df
top 命令动态查看系统状态
vmstat 查看硬件信息
iostat 查看IO信息
netstat -tunalp 查看系统监控的所有网络信息
sar 命令,查看系统硬件所有信息
apache
nginx 提供web网站服务 基于TCP协议工作
安装
写配置文件
配置文件路径:/etc/nginx/nginx.conf
网站加载内容目录地址root /usr/share/nginx/html ---> index.html
(如果location大括号下不添加任何东西的话,默认的地址是服务的地址)
可以自己配置
location / {
root /var/www/html(自己给的目录地址)
index index.html给其默认的配置,直接查找加载index文件)
}
配置完之后,要重新加载下nginx
将 /var/www/html 路径下的 index.html文件写入内容
systemctl start nginx 启动 nginx
systemctl status nginx 验证 nginx是否正常启动
systemctl stop firewalld(关闭防火墙)
systemctl disables /enable firewalld(开机关闭/启动防火墙)
iptables(操控系统内部防火墙)
systemctl reload nginx 重新加载配置文件,nginx不会关闭
测试
浏览器上网址框打上 IP地址 ,测试!!!
url 统一资源定位符 http://……
uri 统一资源标识符 http://……/a/a.txt
nginx反向代理
参考链接:http://nginx.org/en/docs/http/load_balancing.html
实现基于轮询的方式调度三台服务器
1、更改nginx主机的nginx配置文件
目录:/etc/nginx/nginx.conf
2、修改配置文件:
http下,加入
upstream pythonweb (集群名,可任意取名编写)
{
server 192.168.1.114:80;
server 192.168.1.115:80;
server 192.168.152.137:80;
} 服务 集群中每台机子的IP地址和端口号
location下加入配置文件
location / {
proxy_pass http://pythonweb;
}
重启nginx服务: systemctl reload nginx
关闭防火墙
在每台WEB服务器的 默认网站地址的主网址 index.html 中写入不同的文本
在浏览器中打上nginx服务器的IP地址,进行验证。
反向代理有三种方式:(在upstream pythonweb下更改)
1、轮询 (默认是轮询)
2、权重 服务器后加上weight=???(?代表数字)(server IP地址 weight=2;)
3、hash ip_hash (http配置,集群配置名下加入)
更改配置文件,注意在每行写完之后加上;
正向代理与(nfs服务)
定义:NFS即网络文件系统,NFS 的基本原则是“容许不同的客户端及服务端通过一组RPC分享相同的文件系统”,它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。
正向代理:知道要访问的,明确的位置
反向代理:做负载均衡(LB)
二进制安装nfs
命令: yum install rpcbind nfs-utils -y #NFS服务端和客户端都装
NFS服务的配置文件为 /etc/exports,这个文件是NFS的主要配置文件,不过系统并没有默认值,所以这个文件不一定会存在,可能要使用vim手动建立,然后在文件里面写入配置内容。
/etc/exports文件内容格式:
<输出目录> [客户端1 选项(访问权限,用户映射,其他)] [客户端2 选项(访问权限,用户映射,其他)]
a. 输出目录:
输出目录是指NFS系统中需要共享给客户机使用的目录;
b. 客户端:
客户端是指网络中可以访问这个NFS输出目录的计算机。
修改配置(root下)
创建共享目录 :命令:mkdir /share
cat /etc/exports
/share 192.168.31.0/24(rw,sync,fsid=0)
共享目录 共享IP地址段
开权限
(nfs开启了w权限还不行,others(其他用户)还需要对/share目录有w权限)
chmod -R o+w /share
先为rpcbind和nfs做开机启动:
命令: systemctl enable nfs-server.service
systemctl enable
rpcbind.service
启动服务
(必须先启动rpcbind服务)
systemctl start
rpcbind.service
systemctl start
nfs-server.service
确认nfs服务器启动成功
命令:[root~]# rpcinfo(查看系统配置)
[root~]#exportfs (确认共享配置文件)
/share 192.168.31.0/24
[root~]# showmount -e
#默认查看自己共享的服务,前提是要DNS能解析自己,不然容易报错
Export list for MiWiFi-R3-srv:
/share 192.168.31.0/24
========客户端=============
yum install
rpcbind nfs-utils -y
systemctl enable
rpcbind.service && systemctl start rpcbind.service
showmount -e NFS服务器IP #检查
NFS 服务器端是否有目录共享
客户端挂载
mount -t nfs 192.168.31.106:/share /var/www/html/
NFS主机地址:分享目录 客户机目录
[root]# showmount
-a
#显示已经与客户端连接上的目录信息 在本机查看
配置成功之后,多台客户机之间可以实现:在任意一台web上修改的结果,其余两台都可以看到
用途:nginx反向代理+三台web+nfs共享存储 实现 集群配置
(nginx和nfs可以同时在一台机器上搭建)
1、配置nfs,各个服务器上挂载nfs
2、在任意一台web服务器上创建的共享目录中的index.thml 文件中写入文本。
3、在浏览器上输入nginx服务器的网址,进行验证!
开发环境入门 linux基础 (部分)nginx和nfs的更多相关文章
- 开发环境入门 linux基础 (部分)awk 赋值变量 if
awk 常用于处理格式非常明显的文件 awk -F: '{print $1}' /etc/passwd 含义:取冒号分隔符的第一段内容 $0 指取所有! NF 指有几段内容 $NF 取最后一段内容 ...
- 开发环境入门 linux基础(部分)虚拟内存,rpm和yum安装
虚拟内存,rpm和yum安装 文本中查找 /内容 替换:扩展模式下(:)%s /替换目标/要替换的文件/ (只替换第一个)(后边加g全部替换) :set u添加行号 raid lvm逻辑卷 df - ...
- 开发环境入门 linux基础 (部分)while for 函数 计划任务
while循环 while do 动作 done 需要无限循环时我们会选择while : echo -e 格式处理,将\n的意义不变. exit 指退出执行程序 break 指跳出本层循环 conti ...
- 开发环境入门 linux基础 (部分)正则表达式 grep sed
/etc/profile /etc/bashrc .变量添加到shell环境中,永久生效. /root/.bashrc /root/.bash_profile 正则表达式 定义:正则就是用一些具有特 ...
- 开发环境入门 linux基础 (部分) 复制 用户和组操作 权限更改
复制 用户和组操作 权限更改 CP 复制命令 cp 源文件 目标文件 a) –r(recursive,递归的):递归地复制目录.当复制一个目录时,复制该目录中所有的内容,其中包括子目录的全部内容. b ...
- 开发环境入门 linux基础 基本操作命令(部分) 文本结构和基本命令
文本结构和基本命令 linux系统中系统提示符:$ 表示普通用户 su root切换用户命令(用户名 root),输入密码,切换到其他用户状态 root 命令提示符:# exit 退出当前用户,返回 ...
- 开发环境入门 linux基础 (部分)网络 SSH 更名 DNS解析 元字符
nginx---> web ifconfig 查看网络配置信息 id add show 查看当前网卡信息(最小安装下) mtu 是指网卡传输的最大单元 单位:字节 网卡配置 临时配置 ifcon ...
- 开发环境入门 linux基础 (部分) 归档 压缩 Vi编译器 系统分区
归档 压缩 Vi编译器 系统分区 1.使用cat命令进行文件的纵向合并 1) 使用cat命令实现文件的纵向合并: a) 例如:将用户信息数据库文件和组信息数据库文件 ...
- linux基础之nginx和nfs服务
第一部分: 一.nginx服务安装nginx包(源码安装)1.先cd /etc/yum.repos.d目录下2.yum install epel-release -y(安装扩展包)3.yum in ...
随机推荐
- 导出android真机上应用的apk文件
1. 首先你的手机要开启调试模式 2. 终端输入命令行 (这个时候需要在手机端打开此应用.它的思路是抓取出当前窗口的包名.以下命令操作自己未亲自验证.) adb shell dumpsys windo ...
- network namespace连接的4种方法及性能
veth pair # add the namespaces ip netns add ns1 ip netns add ns2 # create the veth pair ip link add ...
- EF-局部更新
// ////1 public Task ReservedQuantity(long productId, long skuId, int reservedQuantity, long userId) ...
- C++(十二)— vector中pair的排序方法
1.利用自定义的排序函数 通过传递一个函数 cmp给sort函数 , 注意: cmp中return a<b; 决定为从小到大的排序 return a>b; 决定为从大到小的排序 #inc ...
- 修复 Xcode 错误 “The identity used to sign the executable is no longer valid”
如图: 解决方法来自:http://stackoverflow.com/questions/7088441/the-identity-used-to-sign-the-executable-is-no ...
- NodeJs学习之API篇
学习nodeJS的API在对于使用nodeJS来进行编程的是十分重要的,所以首先就要去学习看看,相关的node的模块,来看一看相关的内容和可用性. 正文篇: nodeJS的API学习之路.(这里我们将 ...
- linux(ubuntu16.04)下安装和破解pycharm专业版
我用的linux 版本是ubuntu,查看版本命令是: lsb_release -a 因为学习Python爬虫,pycharm是Python很好用的IDE,但是专业版需要付费,所以开始安装: 首先在官 ...
- fatal: Could not read from remote repository.
fatal: Could not read from remote repository. Please make sure you have the correct access rightsand ...
- LeetCode OJ:Largest Number(最大数字)
Given a list of non negative integers, arrange them such that they form the largest number. For exam ...
- Git学习--版本回退
现在,你已经学会了修改文件,然后把修改提交到Git版本库,现在,再练习一次,修改readme.txt文件如下: Git is a distributed version control system. ...