【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>
在构建工程和调试过程中,按照传统方式(Windows下开发,Linux服务器端编译和运行),需要本地修改代码后,同步至服务器端进行编译并运行。这难免会带来一些麻烦,比如本地修改了却忘了同步或者同步源码文件出错,由此造成调试过程中一些无用功或者莫名其妙的错误。所以最好的方式是,直接在服务器上修改、编译源码并运行可执行程序(前提是你足够牛X)。如果需要在Windows下进行开发(阅读和修改源码),而在Linux服务器端编译和运行,并且不需要同步源码,那么使用Samba可以达到相同的效果。
本文适用于C/C++,对Java可能需要做适当调整,但搭建Samba服务器过程一样。
安装samba
Samba是一个能让Linux与Windows互通和共享的软件,非常实用。组成Samba运行的有两个服务,一个是SMB,另一个是NMB。前者必需,后者可选。
SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问。
NMB服务是负责解析用的,把Linux系统共享的工作组名称与其IP对应起来,类似DNS。
安装Samba可以在线源安装或者软件包安装。CentOS在线源安装命令如下:
$sudo yum install samba
安装好之后,查看一下samba组件,如在CentOS中查看:
$ rpm -qa | grep samba
samba-winbind-3.6.9-164.el6.x86_64
samba4-libs-4.0.0-58.el6.rc4.x86_64
samba-winbind-clients-3.6.9-164.el6.x86_64
samba-3.6.9-164.el6.x86_64
samba-common-3.6.9-164.el6.x86_64
配置samba
打开samba配置文件,如下,并修改。
$ sudo vim /etc/samba/smb.conf
workgroup = WORKGROUP
server string = Samba Server Version %v
; netbios name = MYSERVER
; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
; hosts allow = 127. 192.168.12. 192.168.13 //该行注释表示允许所有
# ----------------------- Standalone Server Options ------------------------
…… ……
security = user
#============================ Share Definitions ==============================
[homes]
comment = Home Directories
browseable = no
writable = yes
valid users = %S //表示允许所示有用户
create mode = 0664
directory mode = 0775
//红色表示新增配置
[omee-sms]
comment = some path
path = /home/omee-sms
browseable = no
guest ok = no
writable = yes
valid users = %S //表示允许所示有用户
在samba配置中增加用户和密码
$ smbpasswd -a omee-sms
根据提示输入密码,即完成
启动samba
$sudo /etc/init.d/smb start
$sudo /etc/init.d/nmb start
如需重启samba,命令如下
$sudo /etc/init.d/smb restart
$sudo /etc/init.d/nmb restart
远程访问
注意访问路径不包含home
建立工程
打开Source Insight,新建工程Project->New Project,出现选择框如下图所示。点击Browse选择刚才映射的网络硬盘(即远程访问路径),点击确定即可。
接着就可以在工程中添加源码了。在此不再累述。
编译并运行
修改源码后,因源码存于远程服务器,所以直接在服务器上编译并运行即可,无需任何拷贝。
注意
另,为了确保samba能被访问,还需检查:
a、确保linux下防火墙关闭或者是开放共享目录权限
b、确保samba服务器配置文件smb.conf设置没有问题,可网上查阅资料看配置办法
c、确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。 /usr/bin/setenforce 修改SELinux的实时运行模式
setenforce 1 设置SELinux 成为enforcing模式
setenforce 0 设置SELinux 成为permissive模式
如果要彻底禁用SELinux 需要在/etc/sysconfig/selinux中设置参数selinux=0 ,或者在/etc/grub.conf中添加这个参数
/usr/bin/setstatus -v
来源:oschina
链接:https://my.oschina.net/u/2392723/blog/753103