samba、nginx服务
一、部署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服务的更多相关文章
- Samba服务与Nginx服务
Samba服务: 1 准备环境 =====>part1: iptables -F 清楚防火墙配置 #systemctl disable firewalld #开机默认关闭 #systemctl ...
- samba服务和nginx服务
一 samba服务 1 samba的功能:samba是一个网络服务器,是连接linux和windows之间共享文件的. 2 samba服务的启动,停止和重启: (1) 要启动Samba服务,只需用户 ...
- samba和nginx服务
samba和nginx服务 1.s配置amba samba的功能: samba是一个网络服务器,用于Linux和Windows之间共享文件. 1.1配置环境 关闭防火墙和selinux systemc ...
- Linux基础系列:常用命令(5)_samba服务与nginx服务
作业一:部署samba 每个用户有自己的目录,可以浏览内容,也可以删除 所有的用户共享一个目录,只能浏览内容,不能删 安装samba服务 1.准备环境 setenforce 0 2.安装软件包 yum ...
- 安装Nginx服务
Nginx最大特点: 静态小文件(1M),支持高并发,同时占用系统资源很少.3W并发,10个进程,内存150M. Nginx特点: 1.配置简单,灵活,轻量. 2.高并发(静态小文件),静态几万的并发 ...
- nginx服务傻瓜搭建
nginx服务傻瓜搭建 安装步骤: 一.先准备好相关源码包和程序包,如下图 所有包都在云服务器的/src目录下. 二.安装 1.安装nginx服务器,支持vod stream.fileupload c ...
- Nginx服务状态监控
在Nginx的插件模块中有一个模块stub_status可以监控Nginx的一些状态信息,默认安装可能没有这个模块,手动编译的时候加一下即可. 1. 模块安装 先使用命令查看是否已经安装这个模块: [ ...
- Nginx服务安装配置
1.Nginx介绍 Nginx是一个高性能的HTTP和反向代理服务器,由俄罗斯人开发的,第一个版本发布于2004年10月4日.Nginx由于出色的性能,在世界范围内受到了越来越多人的关注,其特点是占有 ...
- 9. nginx服务实验笔记
LNMP安装与配置 Nginx与apache.lighttp性能综合对比,如下图: 一.系统需求: CentOS/RHEL/Fedora/Debian/Ubuntu系统 需要3GB以上硬盘 ...
- Python 监控nginx服务是否正常
Python 监控nginx服务是否正常 #!/usr/bin/env python import os, sys, time from time import strftime while True ...
随机推荐
- mysql information_schema 数据库简介:
.CHARACTER_SETS 表 CREATE TEMPORARY TABLE `CHARACTER_SETS` ( `CHARACTER_SET_NAME` varchar() NOT NULL ...
- Python中集合类型(set)学习小结
set 是一个无序的元素集合,支持并.交.差及对称差等数学运算, 但由于 set 不记录元素位置,因此不支持索引.分片等类序列的操作. 初始化 复制代码代码如下: s0 = set()d0 = {}s ...
- 与HttpSessionListener接口有关的方法是。
与HttpSessionListener接口有关的方法是. A.sessionInitialized() B.sessionCreated() C.sessionFinialized() D.sess ...
- 嵌入式开发之davinci--- MSB和LSB
简介: MSB是Most Significant Bit的缩写,最高有效位.在二进制数中,MSB是最高加权位.与十进制数字中最左边的一位类似.通常,MSB位于二进制数的最左侧,LSB位于二进制数的最右 ...
- this,你是谁?
在js中this不像其它语言那样容易理解,它有时候指window对象,有时候又是其它对象,那么this,你到底是谁呢?要分析this就要先理解js中的方法定义,因为this一般都是在方法中使用的,而且 ...
- 【Google Earth】pro之视频录制
一.谷歌地球文件简介 谷歌地球能识别的文件分为:gpx.kml.kmz文件.谷歌地球的官方文件为kml和kmz,其中kmz是kml和图片.模型等数据的压缩文件,kml为数据信息文件,也可以分为航迹和字 ...
- 两天学会DirectX 3D之第二天
提要 前几天非常easy地跑了一个DirectX 9 程序,以为DirectX就那么绘制,事实证明有点Naive了. 之前的那个程序最多也就是个固定流水线的东西. 可是今天要用DirectX11来写一 ...
- 如何下载ubuntu桌面,并使用
下载ubuntu,进行linux系统的操作 1.下载ubuntu 百度搜索ubuntu或直达下载链接http://cn.ubuntu.com/download/ 你可以选择,优麒麟16或者Ubuntu ...
- because it violates the following Content Security Policy directive: "default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'". Note that 'script-src' was not explicitly set, so 'default-s
html文件 修改成如下:<meta http-equiv="Content-Security-Policy" content="default-src *; st ...
- 【BZOJ3931】[CQOI2015]网络吞吐量 最大流
[BZOJ3931][CQOI2015]网络吞吐量 Description 路由是指通过计算机网络把信息从源地址传输到目的地址的活动,也是计算机网络设计中的重点和难点.网络中实现路由转发的硬件设备称为 ...