精华内容
下载资源
问答
  • 在浏览器中直接访问linux服务器中的文件(以图片为例) 1. 首先必须在服务器中配置tomcat,当在浏览器中输入http://服务器的公网IP:8080/时,出现tomcat服务器首页时,则配置成功,如下图: 2. 找到tomcat的安装...

    1. 首先必须在服务器中配置tomcat,当在浏览器中输入http://服务器的公网IP:8080/时,能出现tomcat服务器首页时,则配置成功,如下图:
    在这里插入图片描述
    2. 找到tomcat的安装目录中conf文件并进入,例如:cd /tomcat/apache-tomcat-9.0.27/conf,然后编辑server.xml文件,使用命令vim server.xml修改文件内容,在文件的末尾中加入

    <Context docBase ="/usr/local/EasyFit/picture/" path ="/pictures" debug ="0" reloadable ="true"/>
    

    并保存,如下图所示
    在这里插入图片描述

    3. 重启tomcat,进入tomcat的bin目录下,使用命令./shutdown.sh关闭tomcat服务,如果未能关闭,还可使用命令ps -ef|grep java查看java进程,如下图所示:
    在这里插入图片描述
    然后使用命令kill -9 进程号即可,例如kill -9 2998,再使用命令./startup.sh启动tomcat即可(ps:启动了tomcat需要的等上一段时间才能访问,不要心急)
    4. 然后就可以在浏览器中输入http://服务器的公网IP:8080/pictures/2.jpg访问图片资源了,不过需要在 /root/photo文件夹下存有2.jpg文件才能正确访问哦,结果如下图所示:

    在这里插入图片描述

    附录:
    ps -ef|grep java # 查看java进程
    kill -9 进程号 # 杀死进程
    在Tomcat安装目录bin路径下使用的命令
    ./startup.sh #开启tomcat服务
    ./shutdown.sh #关闭tomcat服务
    
    展开全文
  • 我把一个项目war包放到Linux服务器上tomcat的webapps目录下,启动tomcat之后,用 http://公网Ip:8080访问不到项目,用http://公网Ip:8080/war包名才能访问到,求怎么设置直接用http://公网...
  • 公司里工作,有一些linux服务器主要存放项目分支的代码和一些文档,我们在windows上通过目录映射,可以用notepad、sublime、vs等编辑打开服务器端的文件,这样直接编辑访问服务器的目录显得比较方面,编写代码也可以...

    公司里工作,有一些linux服务器主要存放项目分支的代码和一些文档,我们在windows上通过目录映射,可以用notepad、sublime、vs等编辑打开服务器端的文件,这样直接编辑访问服务器的目录显得比较方面,编写代码也可以使用自己习惯的工具。在家里为了在电脑上能连接虚拟机的centos操作目录,通过搭建Samba来实现。

    Samba是linux的一个服务。下面介绍一下实现映射的配置过程,注意linux目录的权限,好几次配置完成后,windows访问映射的目录不能进行读写操作,提示无权限。


    搭建步骤:

    一、安装Samba

    没有安装Samba的先进行安装,centos下命令如下

    [root@localhost home]# yum install samba samba-client

    二、创建Samba账号

    首先为samba服务器创建一个用户组:groupadd admin (这里我的用户组和用户都命名为admin,包括后面的密码)

    然后,在samba用户组下创建用户:   useradd -g admin  admin

    [root@localhost /]# groupadd admin
    [root@localhost /]# useradd -g admin admin

    接着,给需要映射的目录授权。假设需要映射的目录为/home

    # 755可能导致权限不足
    [root@localhost home]# chmod -R 777 /home
    [root@localhost home]# chown -R admin:admin /home

    【注意】关于chown命令的使用:先用户其次才是用户组(用户:用户组)
     

    三、修改Samba配置文件

    没有安装vim的,yum install vim进行安装

    [root@localhost home]# vim /etc/samba/smb.conf

    我的配置如下:

    注意security字段值不要改为share,可能导致smb服务起不来

    linsirs相当于这个目录映射的别名,自己命名即可。指定之前创建的用户组和用户,path就是你需要映射到windows进行访问的目录,其他字段直接照搬就行。

    【备注】看了很多博客有配置其他属性字段的,但至少这里新增的字段是能够实现目录的映射的。

    四、为samba用户admin设置密码

    [root@localhost samba]# smbpasswd -a admin
    New SMB password:
    Retype new SMB password:
    Added user admin.
    [root@localhost samba]# systemctl start smb.service
    

    五、开放samba端口号

    如果防火墙开启,则需要开放下面几个samba服务的端口号。首先,需要知道使用samba服务器需要防火墙开放以下端口

    UDP 137
    UDP 138
    TCP 139
    TCP 445

    使用firewall-cmd命令:

    [root@localhost samba]# firewall-cmd --add-port=137/udp --permanent
    success
    [root@localhost samba]# firewall-cmd --add-port=138/udp --permanent
    success
    [root@localhost samba]# firewall-cmd --add-port=139/tcp --permanent
    success
    [root@localhost samba]# firewall-cmd --add-port=445/tcp --permanent
    success
    [root@localhost samba]# firewall-cmd --reload
    success

    到这里,samba服务器的项目配置工作已经完成了,但我映射访问后,尝试新建文件夹、文件等读写操作时,提示无权限,联系管理员什么的,看了很多文章才找到解决方法。

    试过这几个命令,都没奏效:

    [root@localhost home]# chmod -R a+rwx /home
    [root@localhost home]# systemctl stop firewalld

    正确方法:

    确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。
    执行这两条命令解决权限问题:

    [root@localhost home]# iptables -F
    
    [root@localhost home]# setenforce 0

     【服务启动】

    配置完成后,别忘记启动服务,服务启动停止相关命令:

    启动samba服务
    
    [root@localhost samba]# systemctl start smb.service
    
    关闭samba服务
    
    [root@localhost samba]# systemctl stop smb.service
    
    开机启动samba服务
    
    [root@localhost samba]# systemctl enable smb.service
    
    查看samba服务状态
    
    [root@localhost samba]# systemctl status smb
    

     

    六、目录成功映射并进行读写:

     

     

    【备注】

    如果有问题,以下几点需要确定:

    确定samba服务已正常启动;samba服务端口没有被禁止;有权限进入samba共享目录;

    服务正常的状态:

    [root@localhost home]# systemctl status smb
    ● smb.service - Samba SMB Daemon
       Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled)
       Active: active (running) since 五 2019-03-29 21:27:11 CST; 11min ago
         Docs: man:smbd(8)
               man:samba(7)
               man:smb.conf(5)
     Main PID: 7479 (smbd)
       Status: "smbd: ready to serve connections..."
       CGroup: /system.slice/smb.service
               ├─7479 /usr/sbin/smbd --foreground --no-process-group
               ├─7481 /usr/sbin/smbd --foreground --no-process-group
               ├─7482 /usr/sbin/smbd --foreground --no-process-group
               ├─7483 /usr/sbin/smbd --foreground --no-process-group
               └─7485 /usr/sbin/smbd --foreground --no-process-group

    检查samba 的权限配置,testparm -s 命令可以检查此文件是否有错误,如错误,会显示其行号。

    [root@localhost home]# testparm -s
    Load smb config files from /etc/samba/smb.conf
    rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)
    Processing section "[homes]"
    Processing section "[printers]"
    Processing section "[print$]"
    Processing section "[linsirs]"
    Global parameter workgroup found in service section!
    Global parameter netbios name found in service section!
    Loaded services file OK.
    Server role: ROLE_STANDALONE
    
    # Global parameters
    [global]
    	printcap name = cups
    	security = USER
    	smb passwd file = /etc/samba/smbpasswd
    	workgroup = SAMBA
    	idmap config * : backend = tdb
    	cups options = raw
    
    
    [homes]
    	browseable = No
    	comment = Home Directories
    	inherit acls = Yes
    	read only = No
    	valid users = %S %D%w%S
    
    
    [printers]
    	browseable = No
    	comment = All Printers
    	create mask = 0600
    	path = /var/tmp
    	printable = Yes
    
    
    [print$]
    	comment = Printer Drivers
    	create mask = 0664
    	directory mask = 0775
    	force group = @printadmin
    	path = /var/lib/samba/drivers
    	write list = @printadmin root
    
    
    [linsirs]
    	create mask = 0777
    	directory mask = 0777
    	guest ok = Yes
    	path = /home
    	read only = No

    至此,所有配置都已完成,按照步骤来可以成功实现目录的映射。

    另外了解到CIFS协议也可以实现此功能,有兴趣的同学可以配置实现以下。

     

    参考链接:https://blog.csdn.net/u010480282/article/details/80518836

    展开全文
  • Linux服务器之间CP复制文件

    千次阅读 2011-12-20 15:22:45
    有时候由于不能直接访问目标Linux主机需要过Linux中转机拷贝文件,但目标Linux主机FTP服务未开启或者不支持的缘故我们需要在两个服务器之间CP文件,怎么弄呢?看下面:    命令:scp filenamecoped ...

      有时候由于不能直接访问目标Linux主机需要过Linux中转机拷贝文件,但目标Linux主机FTP服务未开启或者不支持的缘故我们需要在两个服务器之间CP文件,怎么弄呢?看下面:

     

     命令:scp filenamecoped Destinationhost:/directory ——scp 要拷贝的文件 目标主机IP:/目录/

    eg:将当前目录下的startup.sh拷贝到目标主机157上的/home/目录下

    [root@vulcan home]# scp startup.sh 192.168.1.157:/home/
    root@192.168.1.157's password:
    startup.sh  

    [root@vulcan home]#man scp (不熟悉scp的可以用man看看具体scp命令信息)

     

    展开全文
  • 目前通过主流的代码托管平台GitHub或者Gitee都能够解决团队协同工作的疑难,如果不借助这些第三方平台,我们能否搭建一个类似于私服的托管Git仓库,只允许少部分人访问,同样也进行权限管控,答案是可以。...

    目前通过主流的代码托管平台GitHub或者Gitee都能够解决团队协同工作的疑难,如果不借助这些第三方平台,我们能否搭建一个类似于私服的托管Git仓库,只允许少部分人访问,同样也能进行权限管控,答案是可以。

    一、准备环境

    首先,我们考虑使用ssh克隆仓库,而暂时不考虑https的方式。若想直接通过gitolite来管理私有Git服务,请略过二、三(手动搭建,比较费时间,但是会增加你对Git服务的理解),直接查看第四部分的内容。

    在此,我们需要准备好三个前提条件:

    • ssh
    • git
    • 新建一个用户名为git的Linux用户
    1. 一般情况下,ssh是服务器内置的,可以通过ssh -v命令来检查是否安装。

    image-20201209113254008

    1. 安装git:
    yum install -y git
    

    通过git --version来校验是否安装成功

    image-20201209113437079

    1. 新建git用户

    创建用户名为git的用户:

    adduser git
    

    赋予git用户密码(输入两遍密码,注意密码强度有一定的校验):

    passwd git
    

    此时,我们的git新用户会在Linux的/home路径下生成自己的用户文件夹,具体详情可参见 Linux的用户管理、操作历史日志

    image-20201209113946675

    二、开始配置

    接下来,我们需要通过新创建的git用户来完成后续的操作。

    1. 首先我们切换至git用户:
    su git
    
    1. 进入git账号的用户目录
    cd /home/git
    
    1. 创建.ssh文件夹
    mkdir .ssh
    
    1. 在.ssh文件夹下创建authorized_keys文件,后续用来盛放客户端的ssh公钥
    touch authorized_keys
    
    1. 设置权限
    chmod 700 /home/git/.ssh/
    
    chmod 600 /home/git/.ssh/authorized_keys
    

    上述步骤依次完成后,需要将之后克隆代码的客户端ssh公钥加到authorized_keys文件中,即一行公钥对应一个用户。

    作者的机器是Windows系统,故ssh的公钥地址在C:\Users\用户名.ssh,以下是不同系统的ssh公钥地址,仅供参考:

    Windows系统:C:\Users\用户名
    Linux系统:/home/用户名
    Mac系统:/Users/用户名
    

    具体关于ssh的资料,详情参考 配置GitHub的SSH克隆

    这里,我们将id_rsa.pub的文件内容用记事本打开,并复制追加到服务器上的authorized_keys文件中。

    image-20201209115132210

    vim /home/git/.ssh/authorized_keys
    

    使用vim命令打开文件,并进行粘贴保存。

    image-20201209115342220

    三、测试git仓库

    1. 切换到git用户
    su git
    
    1. 在git用户目录下创建一个test.git的测试仓库文件夹
    cd /home/git
    mkdir test.git
    
    1. 初始化该git仓库
    cd /home/git/test.git
    git init --bare
    

    控制台输出如下内容表示创建成功:Initialized empty Git repository in /home/git/test.git/

    之后,我们在本地Windows客户端机器上,用git bash打开命令窗口,输入以下命令:

    git clone ssh://git@ip:port/home/git/test.git
    

    在这里,需要注意的是,ssh连接的默认端口都是22,即port=22,但是作者的服务器修改过默认ssh连接端口,故这里按照读者的实际情况填写即可。

    image-20201209120137254

    出现以上返回结果即表示成功。

    接下来测试提交,推送一切都正常,说明私有Git服务搭建成功。这种方式对于用户权限的管控比较弱,甚至于可以说没有权限管控,如果只是针对个人使用已经足够了。

    最后我们介绍一种新的Git私有服务搭建方式,借助gitolite来进行管理,需要注意的是如果采用下文的gitolite,则需要将前文/home/git/.ssh/authorized_keys文件删除或者重命名为bak备份文件,两种方式不可共存。

    四、通过gitolite管理Git服务

    1. 首先使用第一步准备环境的git账号进行登录服务器,切换到/home/git路径后下载gitolite
    # 进入git主目录
    cd /home/git
    # 下载gitolite的仓库
    git clone https://github.com/sitaramc/gitolite
    
    1. 创建bin文件夹
    cd /home/git
    mkdir -p $HOME/bin
    
    1. 使用下载gitolite仓库中的install执行文件
    cd /home/git/gitolite
    ./install -to $HOME/bin
    
    1. 需要将管理员的ssh公钥绑定到gitolite中

      这里我把公钥上传到服务器上,并重命名为admin.pub,随后执行setup命令

      image-20201215162503017

    ~/bin/gitolite setup -pk ~/admin.pub
    
    1. 克隆gitolite-admin项目

      我们进入到/home/git/repositories目录中会发现,gitolite已经有初始化的两个默认仓库了,其中gitolite-admin就是我们管理成员权限的仓库,我们将它克隆到本地:

      image-20201215164326019

      打开客户端的Git Bash,在命令框中输入以下命令:

      git clone ssh://git@ip:port/gitolite-admin.git
      

      image-20201215163643838

      克隆成功后,打开gitolite-admin文件夹会发现里面有两个文件夹,分别是conf和keydir

      image-20201215163709303

    # ├── conf                # 配置文件夹
    # │   └── gitolite.conf   # 配置权限的文件
    # └── keydir              # 客户端的公钥文件夹,所有伙伴的公钥要放到此目录下
    #     └── admin.pub(管理员公钥)
    
    1. 配置权限

      使用记事本打开conf目录下的gitolite.conf,文件内容如下:

      @admin = admin
      
      repo gitolite-admin
          RW+     =   @admin
      
      repo testing
          RW+     =   @all
      
      • repo代表仓库的意思,如果新添加一个repo,代表服务端新建一个空仓库,仓库push到服务端后会自动创建。
      • RW 代表可读可写
      • @all 代表所有人。
      • masterdev代表分支

      例如,我可以新建一个叫做@visitor的组别,里面有两个人,分别叫xiaosan、xiaosi,且这两个人的.pub公钥文件都要给我,文件名要跟组别中的名称对应,即xiaosan.pub、xiaosi.pub,将这两个公钥文件放在keydir目录下,即该目录下除了管理员公钥文件之外再加两个用户公钥,总共是三个:

      image-20201215165847782

      这里我们新建一个叫做personal的项目,故配置文件做修改后的结果是这样的:

      @admin = admin
      @vivitor = xiaosan xiaosi
      
      repo gitolite-admin
          RW+     =   @admin
          R       =   @visitor
      
      repo testing
          RW+     =   @admin
          R       =   @visitor
      
      repo personal
      	R       =   @all
      
    2. 将gitolite-admin仓库中的更改提交到服务器上

      git add .
      git commit -m "modify"
      git push
      

      image-20201215170519754

    image-20201215170607754

    ​ 到服务器上查看/home/git/repositories目录下,会发现我们配置文件中加上的personal仓库自动给我们创建好了,这就是gitolite的优势。

    五、总结

    ​ 通过私有Git服务的搭建,能够清晰地了解版本控制的深层次含义。且通过私有仓库的搭建可以提高项目的安全性和私密性,在搭建过程中通过参考不同的博客资料发现博主们都没有将细节暴露出来,导致搭建报错浪费了较多的时间,故作此文仅供参考。

    参考资料:

    展开全文
  • 首先可以先根据这个博客看看解决https://cloud.tencent.com/developer/article/1720986,解决不了再继续往下看 第一步:直接修改Tomcat的端口号:8088 1.打开tomcat配置文件 #...在Tomcat目录下的bin目录下先.
  • 服务器不论linux和windows本身都是带有防火墙的,而linux一般使用指令操作,而windows的服务器可以用使用可视化界面,必须开放80端口,80端口号是http默认端口,如使用tomcat,要测试tomcat是否被外部访问,需要...
  • 成功部署到Linux后,系统运行正常,后来,客户又提出新要求,对于html(有一些第三方投递过来的数据文件,放在其它目录,没有保存在View下的视图目录中)这种静态文件不能直接通过URL来访问,需要经过系统..
  • linux下的代理服务器

    2009-03-29 12:56:22
    代理服务器分为服务器端和客户端,服务器端需要运行在客户端和大家都能访问的外网上,客户端需要放在能访问到需要代理的客户的网络上,也可以放在客户的本机上。 用法: 解压proxy.tar.gz 进入proxy目录,然后make,会...
  • linux下Apache服务器配置虚拟域名

    千次阅读 2016-03-21 11:08:12
    在看laravel的某一个入门教程的时候,作者写道:将网站根目录配置为 learnlaravel5/...直接放在根目录下面,则访问打时候需要输入一长串,太麻烦。所以想着也配置下,跟作者似的,输入个www.nine.com也能访问。1. 修
  • 本指南力求涵盖所有细节,但这不确保本指南准确无误。无论是 SUSE LINUX GmbH、作 者还是翻译人员都不对任何可能的错误或因错误造成的任何影响负责。 Novell、Novell 徽标、N 徽标和 SUSE 是 Novell, Inc. 在美国...
  • vsftp目录下内有ftpusers user_list两个控制文件,其中ftpusers的权限最大,定义了不登录FTP的用户名,若用户在此文件内,则无法用此用户登陆FTP服务器,若想使用其账户登陆FTP服务器,则 将用户从此文件内移除 ...
  • Linux上Tomcat不使用软连接问题...在项目目录直接创建附件目录后却可以访问,所以在想是不是设置的软连接导致的无法访问。 经过查找资料,需要在tomcat配置文件中加入对应参数才支持软连接。 在tomcat根目录下的co
  • Mac os 下可以直接在终端中使用内置的ssh命令,通过ssh-key来访问远程服务器。通过证书登录服务器可以保证安全性,还提高登录的速度,免去输入密码的麻烦。 Mac os 下,ssh证书是默认存放在 ~/.ssh 目录下的,...
  • 将项目打成war包,拖到tomcat安装目录的webapps目录下,直接通过startup.bat启动tomcat,访问响应资源,运行成功。 将war包发送到linux系统的服务器中,通过服务器中的tomcat来启动。问题来了: tomcat正常启动,...
  • 学习 Linux 的注意事项1.1 Linux 严格区分大小写1.2 Linux 一切皆文件1.3 Linux 不靠扩展名区分文件类型1.4Linux 中所有的存储设备都必须在挂载之后才能使用1.5Windows 下的程序不能直接Linux 中使用2....
  • Linux(上)

    2021-02-25 09:37:14
    Ubuntu xshell 链接远程服务器 小黄鸭 文件传输的图形化界面 1.根目录 ...2.上传文件 3.访问: ...一、什么是Linux?... 针对不同用户Linux设定了不同用户权限/属性,普通用户不能直接操作系统文件/敏感
  • 直接通过shell执行PHP,在网站目录下面读写文件没有问题,但是通过浏览器访问php,却不写文件。 原因: Apache是通过用户www-data来执行PHP的,所以PHP能够做什么,取决于用户www-data做什么?一般情况下,...
  • 文章目录1 使用nginx 做反向代理2 Linux能力-...常规操作,一般应用服务器不会直接暴露在公网,而是使用nginx 做方向代理,将访问服务器80端的请求转发到具体应用服务器的监听的端口 server { listen 80; server_name
  • 如何快速清理Linux磁盘空间

    千次阅读 2018-10-03 13:46:02
    在生产环境中,首先服务器磁盘满了之后,会导致一系列小问题,网站正常访问,但是不登录以及一些奇奇怪怪的问题,但是不耽误用户访问呀,所以我们的及时清理磁盘空间出来,让MySQL能够正常写入各种数据 我们先直接...
  • 问题描述: Linux系统安装在一个256G固态硬盘上(/dev/sdb):根目录(/dev/sdb1,73G)、home目录(/dev/sdb5,112G)、swap(/dev/...于是决定模仿实验室服务器设置,单独挂载sda9为一个linux可以访问的新分区。 1.首先把o.
  • 我们并不使同学们通过这次系列讲座成为一个 UNIX 类操作系统的高手,这次系列 讲座的目的就是在同学们中间普及 Linux 基础知识,为今后我们更加接近的了解 Linux 做一 个好的开端。 第一讲 Linux基础 在这一...
  • Linux FTP服务配置

    2010-12-11 21:38:03
    vsftp的含义就是Very Security Ftp,下面就简要的说一下它的配置和使用方法,通过本文的介绍也希望您了解在Linux下配置一个网络服务的基本过程  1.相关配置文件  /etc/vsftpd.conf,vsftpd.ftpuser,vsftpd.user_...
  • Samba 也一样行,比如一台Linux的机器,如果架了Samba Server 后,它充当共享服务器,同时也做为客户机来访问其它网络中的Windows共享文件系统,或其它Linux的Sabmba 服务器; 我们在Windows网络中,看到共享...
  • Linux wget 403 forbidden错误解决方法

    千次阅读 2019-08-05 13:21:11
    wget是Linux常用命令,用于下载远程文件,一直以来使用都非常顺畅,这次却遇到提示403 forbidden错误,在浏览器直接输入下载地址却正常下载。 在wget时使用-U参数就正常了,原因是资源服务器限制了访问代理,这里...
  • 有时候我们的网站根目录会从一个目录迁移到...这在框架中最为常见,本地运行好好的网站,上传到服务器之后突然就不能访问了,出现很多错误,这就是在Linux下存在的权限问题,网上有些方法是很粗暴的使用chmod -R 77...
  • 服务器共享目录为/var/www/html,可以自定义目录只要http方式能访问到即可 a,直接把光盘的数据完整拷贝到/var/www/html b,mount /dev/cdrom /var/www/html作为光盘挂载点3.配置http服务器4.客户端从光盘启动输入linux...
  • RED HAT LINUX 6大全

    热门讨论 2011-10-21 18:46:06
    6.5.5 当系统不引导时,Red Hat会 来救援 102 6.5.6 获取更多的信息 103 6.6 小结 104 第7章 SMTP和协议 105 7.1 Internet电子邮件标准的历史简述 105 7.1.1 sendmail介绍 105 7.1.2 邮局协议 105 7.1.3 Internet...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 210
精华内容 84
关键字:

能直接访问linux服务器目录

linux 订阅