一、部署samba

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成,Samba主要用于Linux或UNIX和Windows系统之间的文件共享。

SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

1 准备环境

  =====>part1:设置防火墙以及安全设置

  iptables -F

  #systemctl disable firewalld #开机默认关闭

  #systemctl stop firewalld  #立即关闭

  #systemctl status firewalld

  getenforce

  setenforce 0

  #/etc/sysconfig/selinux

  #SELINUX=disabled

  =====>part2:

  配置ip

2 安装软件包

  yum install samba -y

3 添加系统用户

  Useradd  <用户>

  然后设置Samb用户

  smbpasswd -a <用户>

  因为用户只是用于登录共享盘,所以不应该有登录linux系统的权限,所以可以将用户设置为nologin

  usermod -s /sbin/nologin <username >

  或者创建系统用户时直接创建为:

  useradd -s /sbin/nologin <new username>

  当使用smb用户登入samba server 后,默认能够看到用户的家目录。

4 修改配置文件

 /etc/samba/smb.conf

# A publicly accessible directory that is read only, except for users in the

# "staff" group (which have write permissions):

[public]

       comment = Public Stuff

       path = /z

       public = yes

       writable = no

       printable = no

       write list = +smb

这个writeable是对文件夹中文件有写权限,但是文件夹还应该加上写权限
chmod o+w /z
writeable 是no的时候,下面writelist 中的用户可以写

这样设置下来,除了用户smb其他用户只有查看权限,无法进行写操作(注意用户之前的加号是需要的)。而所有文件均保存在/z路径下。

Ps:更多可以设置项目

comment---------注释说明

path------------分享资源的完整路径名称,除了路径要正确外,目录的权限也要设对

browseable------是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取

printable-------是yes/否no允许打印

hide dot ftles--是yes/否no隐藏隐藏文件

public----------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

guest ok--------是yes/否no公开共享,若为否则进行身份验证(只有当security = share 时此项才起作用)

read only-------是yes/否no以只读方式共享当与writable发生冲突时也writable为准

writable--------是yes/否no不以只读方式共享当与read only发生冲突时,无视read only

vaild users-----设定只有此名单内的用户才能访问共享资源(拒绝优先)(用户名/@组名)

invalid users---设定只有此名单内的用户不能访问共享资源(拒绝优先)(用户名/@组名)

read list-------设定此名单内的成员为只读(用户名/@组名)

write list------若设定为只读时,则只有此设定的名单内的成员才可作写入动作(用户名/@组名)

create mask-----建立文件时所给的权限

directory mask--建立目录时所给的权限

force group-----指定存取资源时须以此设定的群组使用者进入才能存取(用户名/@组名)

force user------指定存取资源时须以此设定的使用者进入才能存取(用户名/@组名)

allow hosts-----设定只有此网段/IP的用户才能访问共享资源

allwo hosts = 网段 except IP

deny hosts------设定只有此网段/IP的用户不能访问共享资源

allow hosts=本网段指定IP指定IP

deny hosts=指定IP本网段指定I

5 启动服务

systemctl restart smb

6 测试

映射网络驱动

\\服务端的ip\用户名 --------》登录到用户的家目录下

\\服务端的ip\public --------》登录到共享目录

补充

net use #查看

net use * /del #清除

二、部署nginx

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。是浏览网页的过程中服务端起作用的软件。

1 准备环境

  =====>part1:

  iptables -F

  #systemctl disable firewalld #开机默认关闭

  #systemctl stop firewalld  #立即关闭

  #systemctl status firewalld

  setenforce 0

  #/etc/sysconfig/selinux

  #SELINUX=disabled

  =====>part2:

  配置ip

2 安装软件包

  二进制方式安装

    yum install epel-release -y #若原yum库中没有该软件则需要安装扩展库

    yum install nginx -y

  源码安装

    yum gcc-* glibc-* make libtool ncurse-devel pcre -y #可能需要安装

    tar xvf nginx.....tar.gz

    cd nginx/

    #./configure --prefix=/usr/local/nginx --with-pcre=/usr/lib64/

    ./configure --prefix=/usr/local/nginx --without-http_rewrite_module

    make

    make install

3 修改配置文件

http://www.cnblogs.com/hunttown/p/5759959.html(这里有相对详细的配置文件说明)

worker_processes  ;                #worker进程有几条,nginx的进程除了worker还有一个master,一个master多个worker

events {
worker_connections ; #每个worker进程有多少线程
} http {
include mime.types; #http的格式信息,在当前目录的mine文件中,更改了conf文件之后需要将这个更改为绝对路径。
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" ' #这是日志文件的格式,
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on;
#tcp_nopush on; #keepalive_timeout ;
keepalive_timeout ; #超时时间 #gzip on; server {
listen ; #端口号
server_name localhost;
location / {
root html; #网站根目录,网页文件的根目录在html(相对路径)下
index index.html index.htm; #这是默认访问目录,在前面的优先级较高,最高的是index.html,接下来是index.htm。index.html之前可以自己加上一个文件测试一下优先级。
}
}
……

4 启动服务

  /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

  #/usr/local/nginx/sbin/nginx -s stop 关闭

  #/usr/local/nginx/sbin/nginx -s reload 重新加载配置文件

补充:

状态码:

200 访问成功

3开头,重定向

4开头,客户端的问题

5开头,服务端的问题

三、nginx简单举例

http://nginx.org/en/docs/http/load_balancing.html(官方使用文档)

Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,反向代理就相当于多个服务器的中介,用户访问服务器的时候,先访问中介,然后中介再将各个人物交给专用服务器。

默认负载平衡配置

使用nginx进行负载平衡的最简单的配置可能如下所示:

http {
upstream myapp1 {
server srv1.example.com; #例:server 192.168.16.139:8081;
server srv2.example.com;
server srv3.example.com;
} server {
listen ; location / {
proxy_pass http://myapp1; #这是访问的上面设置的三个分服务器的函数
}
}
}

最少连接的负载均衡

另一个负载平衡规则是最少连接的。在一些请求需要更长时间才能完成的情况下,最少连接可以更公正地控制应用程序实例的负载。

使用最少连接的负载平衡,nginx将尽量不要过多的请求来重载忙碌的应用程序服务器,而是将新的请求分发到不太忙的服务器。

在使用 minimum_conn指令作为服务器组配置的一部分时,将激活 nginx中的最小连接负载平衡:

    upstream myapp1 {
least_conn;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}

ip-hash哈希平衡

通过循环或最少连接的负载平衡,每个后续客户端的请求都可能分配到不同的服务器。不能保证同一个客户端将始终指向同一个服务器。

如果需要将客户端绑定到特定的应用服务器。换句话说,使客户端的会话“粘滞”或“永久”,总是试图选择特定的服务器 - ip-hash负载平衡机制可以使用的。

使用ip-hash,客户端的IP地址用作哈希键来确定应该为客户端请求选择服务器组中的哪个服务器。此方法确保来自同一客户端的请求将始终被定向到同一台服务器,除非该服务器不可用。

upstream myapp1 {
ip_hash;
server srv1.example.com;
server srv2.example.com;
server srv3.example.com;
}

权重平衡

    upstream myapp1 {
server srv1.example.com weight=;
server srv2.example.com;
server srv3.example.com;
}

默认负载平衡配置测试:

测试的时候可以克隆多个虚拟机进行测试,但是也可以从一台虚拟机上开启多个nginx程序模拟多台虚拟机的情况。

Linux程序启动的方式基本上都是程序启动+配置文件,所以可以设置多个配置文件来模拟多台机器。

新建/z/z文件夹下存放反向代理服务器配置:

ps:这里一定要根据nginx安装、启动目录下的配置文件来配置。由于安装设置的原因,我自定义的安装目录也有一套配置文件,但是从这里复制出的配置文件来执行,会报错,无法正常开启nginx。

worker_processes  ;                                    #3个worker进程

http {

    include       /usr/local/nginx/conf/mime.types;      #更改为绝对路径

    default_type  application/octet-stream;

upstream myap {

        server 192.168.64.128:;                     #默认负载均衡配置

        server 192.168.64.128:;

        server 192.168.64.128:;

    }

    server {

        listen       ;                                 #默认端口号

        server_name  localhost;

        location / {

            proxy_pass http://myap;                      #这里是用了上面的定义

        }

三台web服务器设置如下,主要配置端口号和html存放的地址:

server {

        listen       ;                    #端口号

        server_name  localhost;

        location / {

            root   /z/;                       #html文件存放的地址

            index  index.html index.htm;

设置完成分别开启反向代理器以及web服务器

/usr/local/nginx/sbin/nginx -c /z/z/nginx.conf

/usr/local/nginx/sbin/nginx -c /z//nginx.conf

/usr/local/nginx/sbin/nginx -c /z//nginx.conf

/usr/local/nginx/sbin/nginx -c /z//nginx.conf

查看开启的端口,发现80、8081、8082、8083正常开启,说明各项服务器正常工作

打开网页测试效果:

发现三个网页交替出现。

反向代理服务器同时做web服务器:

由于nginx同时可以做代理和转发,所以反向代理的服务器同时也可以做web服务器。

实现方式比较简单,类似上面一个例子,只是代理服务器配置文件上还需要加一段server函数,这个server启用一个新端口、指向web文件即可。具体设置如下:

#user  nobody;
worker_processes ; #error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info; #pid logs/nginx.pid; events {
worker_connections ;
} http {
include /usr/local/nginx/conf/mime.types;
default_type application/octet-stream; upstream myap {
server 192.168.16.117:;
server 192.168.16.117:;
} sendfile on; keepalive_timeout ; server {
listen ; #用于转发
server_name localhost;
location / {
proxy_pass http://myap;
}
} server {
listen ; #用于web
server_name localhost;
location / {
root /z/z;
index index.html index.htm;
}
}
}

其他负载平衡模式设置方式类似,平衡方式各有优势。

samba、nginx服务的更多相关文章

  1. Samba服务与Nginx服务

    Samba服务: 1 准备环境 =====>part1: iptables -F 清楚防火墙配置 #systemctl disable firewalld #开机默认关闭 #systemctl ...

  2. samba服务和nginx服务

    一  samba服务 1 samba的功能:samba是一个网络服务器,是连接linux和windows之间共享文件的. 2 samba服务的启动,停止和重启: (1) 要启动Samba服务,只需用户 ...

  3. samba和nginx服务

    samba和nginx服务 1.s配置amba samba的功能: samba是一个网络服务器,用于Linux和Windows之间共享文件. 1.1配置环境 关闭防火墙和selinux systemc ...

  4. Linux基础系列:常用命令(5)_samba服务与nginx服务

    作业一:部署samba 每个用户有自己的目录,可以浏览内容,也可以删除 所有的用户共享一个目录,只能浏览内容,不能删 安装samba服务 1.准备环境 setenforce 0 2.安装软件包 yum ...

  5. 安装Nginx服务

    Nginx最大特点: 静态小文件(1M),支持高并发,同时占用系统资源很少.3W并发,10个进程,内存150M. Nginx特点: 1.配置简单,灵活,轻量. 2.高并发(静态小文件),静态几万的并发 ...

  6. nginx服务傻瓜搭建

    nginx服务傻瓜搭建 安装步骤: 一.先准备好相关源码包和程序包,如下图 所有包都在云服务器的/src目录下. 二.安装 1.安装nginx服务器,支持vod stream.fileupload c ...

  7. Nginx服务状态监控

    在Nginx的插件模块中有一个模块stub_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编译的时候加一下即可. 1. 模块安装 先使用命令查看是否已经安装这个模块: [ ...

  8. Nginx服务安装配置

    1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...

  9. 9. nginx服务实验笔记

    LNMP安装与配置   Nginx与apache.lighttp性能综合对比,如下图:     一.系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu系统 需要3GB以上硬盘 ...

  10. Python 监控nginx服务是否正常

    Python 监控nginx服务是否正常 #!/usr/bin/env python import os, sys, time from time import strftime while True ...

随机推荐

  1. phpcms 初次建站心得

    最近要给客户建个网站,考虑到效率问题,直接找了个开源的phpcms,(现在被收购了,以前的时候我还知道是个开源的).由于对这个东西不熟悉,原来就是了解一些,php的建站系统,php的MVC框架.故此, ...

  2. Unity3D避免代码被反编译

    1.Unity编译后最终会将代码编译在dll里面,无论是ios还是Android解开包以后都可以拿到dll,路径在Data/Managed/Assembly-CSharp.dll 2.IOS其实不用做 ...

  3. 文本识别OCR浅析:特征篇

    OCR技术浅探:特征提取(1) 研究背景 关于光学字符识别(Optical Character Recognition, 下面都简称OCR),是指将图像上的文字转化为计算机可编辑的文字内容,众多的研究 ...

  4. 02 SQL 执行

    sql 被保存在 share pool 后, 开始解析, 解析包括语句的语法, 检验及对象, 以确认该用于是否有该对象的权限, 如果这些都通过了, 接下来就要看这个语句之前是否被执行过, 如果是, o ...

  5. VS2013远程调试IIS中的网站

    问题描述一般网站发布到远程iis中了.我们就无法调试了... 今天查到个可以远程调试iis或winform的方法: 记录下 第一步:copy 本地 C:\Program Files (x86)\Mic ...

  6. 细节取胜的javadoc

    今个以为开发经验丰富的同事提出有个改动有问题,希望改一下.老前辈发话,心虚的紧,立即看了下,问题说是我的方法凝视中写了一个 ** doesn't ** 建议改为 does not 说这个生成javad ...

  7. EF提供的3中查询方式

    1. Linq to Entities using (TestEntities te = new TestEntities()) { var user = from a in te.User wher ...

  8. VR应用开发遍地走的日子还有多远

    从上世纪60年代美国计算机科学家Ivan Sutherland发明的第一款真正意义上的虚拟现实头盔,到Facebook以20亿美元收购"虚拟现实之眼"Oculus Rift,大批厂 ...

  9. layoutSubviews何时调用的问题

    本文转载至 http://www.cnblogs.com/pengyingh/articles/2417211.html 今天跟旺才兄学习了一下UIView的setNeedsDisplay和setNe ...

  10. 用vector构造自动扩容的二维数组

    #include <iostream> #include <string> #include <vector> using namespace std; int m ...