当前位置:首页 » 操作系统 » linux添加服务

linux添加服务

发布时间: 2022-05-08 17:19:31

Ⅰ 如何给linux添加dns服务器记录

dig命令 – 查询域名DNS信息
它会打印出DNS域名服务器的回应,dig命令主要用来从DNS域名服务器查询主机地址信息
nsupdate命令 – 动态DNS更新工具
《Linux就该这么学》搭建DNS服务器
DNS常规操作
1.启动DNS服务器:
/etc/init.d/named start

2.停止DNS服务器:
/etc/init.d/named stop

3.重新启动DNS服务器:
/etc/init.d/named restart

Linux下架设DNS服务器通常是使用Bind程序来实现的。Bind是一款实现DNS服务器的开放源码的软件。DNS即域名系统,主要功能是将人们易于记忆的Domain Name(域名)与不易记忆的IP地址进行转换。
Linux系统中,DNS客户端的配置文件是/etc/resolv.conf,该文件记录了DNS服务器的地址和域名。

Ⅱ 如何向linux添加服务!

这样操作:
1、一个vsftpd一个启动脚本到/etc/init.d/目录下,名字为vsftpd。(也可以自己书写一个启动脚本)
2、执行chkconfig
add
vsftpd(也可以加--level参数指定部分init)
3、就可以执行service
vsftpd
start
/stop了。

Ⅲ 如何在linux添加tomcat服务器

方法/步骤

首先我们来下载tomcat,因为之前我安装的是 jdk 1.7的版本,所以这里我下载的也是对应的tomcat 7,官方下载网址是:http://tomcat.apache.org/,点击 Download 链接,打开下面的页面;

在上面打开的页面中,打开到已经编译过的 tar.gz包,说明看,下图;

在tar.gz包的链接上右键,在弹出的菜单中选择“复制链接地址”(大多浏览器上都有类似的功能);

通过上面的操作,我们获取到了,tomcat的下载地址,下面我们来用终端下载 tomcat:输入命令:wget http://mirrors.hust.e.cn/apache/tomcat/tomcat-7/v7.0.61/bin/apache-tomcat-7.0.61.tar.gz

下载完成后,我们来解压包,输入命令:tar -zxvf apache-tomcat-7.0.61.tar.gz -C /usr/local/把文件 解压包 /usr/local/ 目录下,然后输入命令:mv /usr/local/apache-tomcat-7.0.61 /usr/local/tomcat7重命名刚解压出的tomcat目录 apache-tomcat-7.0.61 的名称为 tomcat7

输入命令:/usr/local/tomcat7 切换到 /usr/local/tomcat7目录下,下面我们来启动tomcat服务,只要进入到tomcat下的bin目录下,找到sartup.sh就可以启动服务了,为了启动服务,我们来输入命令:./bin/startup.sh 回车后,你会看到服务启动的状态信息

tomcat默认启动端口号是:8080,当你在虚拟机的linux系统里面,输入http://localhost:8080/,你会发现访问成功;

而当你用linux的ip在外部访问时,会发现失败,这是因为默认情况下,linux的防火墙是开启的,并且只允许系统安装好后,特别的几个端口可以外部访问,后期装的软件,如果需要通过外部端口访问,有两种解决方案:1.使用命令:sevice iptables stop 来停止防火墙服务,但是当你启动linux系统时,防火墙又会重新启动;2.最根本的解决办法,是在防火墙规则里添加需要外部访问的端口号规则,使用下面的命令来实现: 首先输入命令:/sbin/iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 来编辑防火墙规则文件, 接着输入命令:/etc/rc.d/init.d/iptables save 保存到iptables这个文件 最后输入命令:service iptables restart 来重新启动防火墙服务,使刚添加的规则生效

配置完成并生效后,可以使用命令:/etc/init.d/iptables status来查看当前8080端口是否添加成功;

10
防火墙规则添加好了,你再用在外部的浏览器使用 http://192.168.1.64:8080/ 的格式来访问tomcat,就会发现成功了。

Ⅳ linux怎么添加ntp服务器

个人linux系统比如ubuntu、deepin等都已经安装了,只需要勾选同步网络时间即可。
如果是服务器可以参考:

[root@localhost /]# yum install ntp -y

2.修改NTP配置文件,添加NTP服务器的网络位置 /etc/ntp.conf

# For more information about this file, see the man pages
# ntp.conf(5), ntp_acc(5), ntp_auth(5), ntp_clock(5), ntp_misc(5), ntp_mon(5).

driftfile /var/lib/ntp/drift

# Permit time synchronization with our time source, but do not
# permit the source to query or modify the service on this system.
restrict default nomodify notrap nopeer noquery

# Permit all access over the loopback interface. This could
# be tightened as well, but to do so would effect some of
# the administrative functions.
restrict 127.0.0.1
restrict ::1

# Hosts on local network are less restricted.
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

# Use public servers from the pool.ntp.org project.Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 192.168.1.1 iburst #目标服务器网络位置
#server 1.CentOS.pool.ntp.org iburst #一下三个是CentOS官方的NTP服务器,我们注释掉
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#broadcast 192.168.1.255 autokey # broadcast server
#broadcastclient # broadcast client
#broadcast 224.0.1.1 autokey # multicast server
#multicastclient 224.0.1.1 # multicast client
#manycastserver 239.255.254.254 # manycast server
#manycastclient 239.255.254.254 autokey # manycast client

# Enable public key cryptography.
#crypto

includefile /etc/ntp/crypto/pw

# Key file containing the keys and key identifiers used when operating
# with symmetric key cryptography.
keys /etc/ntp/keys

# Specify the key identifiers which are trusted.
#trustedkey 4 8 42

# Specify the key identifier to use with the ntpdc utility.
#requestkey 8

# Specify the key identifier to use with the ntpq utility.
#controlkey 8

# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats

# Disable the monitoring facility to prevent amplification attacks using ntpdc
# monlist command when default restrict does not include the noquery flag. See
# CVE-2013-5211 for more details.
# Note: Monitoring will not be disabled with the limited restriction flag.
disable monitor

保存退出

3.启动服务并设置开启自启

[root@localhost /]# systemctl start ntpd.service#启动服务
[root@localhost /]# systemctl enable ntpd.service#设置为开机启动

Ⅳ 在linux里怎么增加服务

首先安装相应的包
之后vi /etc/rc.d/re.local
向这个配置文件中加如相对应的语句,如httpd,假设安装了TAR包,apache目录为/usr/local/apache
加入:/usr/local/apache/bin/apachectl -K start
再比如mysql.假设安装TAR包在/usr/local/mysql下
则想rc.d/re.local中添加:/usr/local/mysql/mysqld_safe --user=root &

其实就是将守护进程加到自启动项,和windows差不多一个道理

Ⅵ Linux中的服务自启动添加方法有哪些

centos6:chkconfig server-name on XXXcentos7:systemctl enable XXX;如果没有启动脚本,将服务启动命令添加到rc.local中所有的linux服务自启动添加的方法,黑马程序员的免费课就有,他们社区有技术分析和源码,还有视频。找不到官网对话框就可以看见了。我哥们就在边学的,还没毕业呢收到offer入职了

Ⅶ 如何实现在Linux下创建服务程序

Linux系统能提供强大可靠的网络服务,并有管理程序对服务进行管理。例如我们熟悉的Web、FTP和电子邮件等,它们既可以单独运行,也可以被守护进程inetd调用,而且运行得都非常好。但我们不能仅停留在赞叹中,下面就给出两个服务程序程序和一个客户程序的例子,介绍服务程序和客户程序之间是如何沟通的。另外还要编辑配置一些文件,让服务程序也能接受服务管理程序管理。

这两个服务程序功能相同,但一个是独立服务程序,另一个是被inetd调用的服务程序。这是TCP/IP网络服务的两大类,这里将两个程序放在一起是为了比较程序结构和运行方式。两服务程序都在Red Hat Linux 7.1和TurboLinux 7.0上调试通过。

独立服务器

TCP和UDP是两大TCP/IP数据传输方式,套接口是建立服务器客户机连接的机制,首先介绍它们建立通信联系的过程,然后给出一个TCP服务程序例子。

1.TCP套接口通信方式

对于TCP服务器端,服务程序首先调用建立套接口的函数socket(),然后调用绑定服务IP地址和协议端口号函数bind()。绑定成功后调用被动监听函数listen()等待客户连接,还要调用获取连接请求函数accept(),并一直阻塞到客户连接请求的到达,这个函数获取客户机IP地址和协议端口号。

对于TCP客户端,客户程序启动后后调用建立套接口函数socket(),然后调用连接函数connect(),此函数与服务器通过三次握手建立连接。

服务器和客户机建立连接后,就可以使用读函数read()和写函数write()收发数据了。数据交换完成后便各自调用关闭套接口函数close()删除套接口。TCP套接口通信方式见图1所示。

图1 TCP套接口通信方式

2.UDP套接口通信方式

UDP程序与TCP的区别是无需建立连接。服务器首先启动,然后等待用户请求。客户机启动后便直接向服务器请求服务,服务器接到请求后给出应答。

对于UDP服务器端,服务程序首先调用套接口函数socket(),然后调用绑定IP地址和协议端口号函数bind()。之后调用函数recvfrom()接收客户数据,调用sendto()向客户发送数据。

对于UDP客户端,客户机程序启动后调用套接口函数socket(),然后调用sendto()向服务器发送数据,调用recvfrom()接收服务器数据。

双方数据交换成功后,各自调用关闭套接口函数close()关闭套接口。UDP套接口通信方式见图2所示。

图2 UDP套接口通信方式

下面给出独立服务程序的例子。这个程序虽然简单,但是与复杂程序有着相同的结构。

//程序名:server.c
//功能:服务器从客户机读入一个字符,并将排在此字符后面的字符回送客户机
//服务器端口:9000
#include "sys/types.h"
#include "sys/socket.h"
#include "stdio.h"
#include "netinet/in.h"
#include "arpa/inet.h"
#include "unistd.h"
int main()
{
int pid; //用于存放fork()执行结果
int server_sockfd,client_sockfd; //用于服务器和客户机套接口描述符
int bind_flag,listen_flag; //用于存放bind()和listen()执行结果
int server_address_length,client_address_length; //作为服务器客户机地址长变量
struct sockaddr_in server_address; //作为服务器地址结构变量(含地址和端口)
struct sockaddr_in client_address; //作为客户机地址结构变量(含地址和端口)
if((pid=fork())!=0) //用fork()产生新进程
exit(0) ;
setsid() ; //以子进程开始下面的程序

函数socket(),创建一个套接口,成功则返回套接口描述符。

server_sockfd=socket(AF_INET,SOCK_STREAM,0);
if(server_sockfd<0)
{
printf(“socket error /n”);
exit(1);
}
server_address.sin_family=AF_INET;

函数htonl()用于将32位主机字节顺序转换为网络字节顺序,其中参数INADDR_ANY表示任何IP地址。

server_address.sin_addr.s_addr=htonl(INADDR_ANY);

函数htons()用于将16位主机字节顺序转换为网络字节顺序,其中的参数是绑定的端口号,读者可根据环境自行改动,目的是不与其它服务端口冲突。

server_address.sin_port=htons(9000);
server_address_length=sizeof(server_address);

函数bind()用于绑定本地地址和服务端口号,若调用成功返回值为0。

bind_flag=bind(server_sockfd,/
(struct sockaddr *)&server_address,/
server_address_length);
if(bind_flag<0)
{
printf(“bind error /n”);
exit(1);
}

函数listen(),指明服务器的队列长度,被动等待客户连接,调用成功返回值为0。

listen_flag=listen(server_sockfd,5);
if(listen_flag<0)
{
printf(“listen error /n”);
exit(1);
}

while(1)
{
char ch;

函数accept()等待和获取用户请求,为每个新连接请求创建一个新的套接口,调用成功返回新套接口描述符。

client_sockfd=accept(server_sockfd,/
(struct sockaddr *)&client_address,/
&client_address_length);

函数read()和write()用于在服务器和客户机之间传送数据,调用成功返回读和写的字节数。

函数close(),用于程序使用完一个套接口后关闭套接口,调用成功返回值0。其中的参数为accept()创建的套接口的描述符client_sockfd。

read(client_sockfd,&ch,1);
printf(“cli_ch=%c”,ch);
ch++;
write(client_sockfd,&ch,1);

close(client_sockfd);
}
}

程序完成后就可以使用命令进行编译。在命令行中输入“gcc -o server server.c”,将server.c编译成可执行程序server,这时便可用客户程序进行测试。在命令行执行“./server”启动服务程序,执行“netstat -na”查看有无server的服务端口。如果存在,则执行下面编写的客户程序“./client”。不过这仅是手工启动的方法,下面给出用服务管理程序管理server程序的方法。只要在目录/etc/rc.d/init.d下放入服务程序的脚本就能被服务程序读到。在命令行执行“touch server”创建文件server,并将文件属性改成可执行。在管理程序中并不能看到此服务名,脚本文件必须有一些结构才能被管理程序认为是服务程序脚本。

为了减少工作量,拷贝/etc/rc.d/init.d下脚本httpd,将拷贝脚本名命名为server,然后对其编辑。

(1)执行“cp httpd server”。

(2)用文本编辑器vi(其它编辑器亦可)将server打开进入编辑状态。首先用字符串server替换httpd。然后找到daemon server行,如果编写的程序放在变量PATH目录中,不需要修改此行;如果把服务程序放在其它目录中,就要写服务的全路径。例如程序在/root的目录中,就要写成daemon /root/server,还要删除“rm -f /var/run/server.pid”这一行。

(3)执行“chmod 755 server”,将server属性设定为可执行。

此时就可以用chkconfig、ntsysv等工具,在希望的运行级中增加这个新服务程序,然后测试客户机与服务器能否通信。

被xinetd调用的服务程序

在Linux系统中,有很多服务是被xinetd(较早版本使用的是inetd)超级守护服务器启动的。其实凡是基于TCP和UDP的服务都可使用超级守护进程启动,只是在服务量很大影响效率的情况下不被采用。

1.依赖xinetd启动的服务建立通信过程

为了与独立服务器程序比较,我们看一下依赖xinetd的服务器是如何启动的。

(1)xinetd启动时读取/etc/xinetd目录中的文件(早期版本为/etc/inetd文件),根据其中的内容给所有允许启动的服务创建一个指定类型的套接口,并将套接口放入select()中的描述符集合中。

(2)对每个套接口绑定bind(),所用的端口号和其它参数来自/etc/xinetd目录下每个服务的配置文件。

(3)如果是TCP套接口就调用函数listen(),等待用户连接。如果是UDP套接口,就不需调用此函数。

(4)所有套接口建立后,调用函数select()检查哪些套接口是活动的。

(5)若select()返回TCP套接口,就调用accept()接收这个连接。如果为UDP,就不需调用此函数。

(6)xinetd调用fork()创建子进程,由子进程处理连接请求。

◆ 子进程关闭所有其它描述符,只剩下套接口描述符。这个套接口描述符对于TCP是accept()返回的套接口,对于UDP为最初建立的套接口。然后子进程连续三次p()函数,将套接口描述符复制到0、1和2,它们分别对应标准输入、标准输出和标准错误输出,并关闭套接口描述符。

◆ 子进程查看/etc/xinetd下文件中的用户,如果不是root用户,就用调用命令setuid和setgid将用户ID和组ID改成文件中指定的用户。

(7)对于TCP套接口,与用户交流结束后父进程需要关闭已连接套接口。父进程重新处于select()状态,等待下一个可读的套接口。

最后调用配置文件中指定的外部服务程序,外部程序启动后就可与用户进行信息传递了。

2.为xinetd编写专门的服务程序

除了独立服务程序能被xinetd启动外,还可以为xinetd编写专门的程序。此处的例子程序与上面server.c功能相同。不过两者的程序区别是很大的,此例的代码仅相当于上面传输数据的部分。我们还将程序名定为server.c,所以不能放在相同目录中,同名仅是为了和上面程序对照。

#include "unistd.h"
int main()
{
char ch;
read(0,&ch,1);
ch++;
write(1,&ch,1);
}

将程序编译成可执行文件,并做些设置就可被xinetd启动。注意不要和上面的独立服务程序server一起启动,因为客户程序写得比较简单,访问的是固定端口,服务器都设成了相同的端口号。

(1)编辑/etc/services文件,在行末增加一条记录:

server 9000/tcp

(2)在目录/etc/xinetd.d下编写文件server,内容为:

service server
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /home/test/server (此处设置成自己程序所在的目录)
}

如果使用的是较早版本,则需在/etc/inetd.conf文件中添加下面的行:

server tcp nowait root /path/to/yourdirectory/server

(3)执行/etc/rc.d/initd.d/xinetd restart重新启动xinetd服务器。早期版本执行/etc/rc.d/initd.d/inetd restart重新启动inetd。

(4)执行netstat -an查看有没有server程序使用的端口号,如果有就可使用下面客户机程序进行测试了。

客户机程序

下面就客户机函数做一简单介绍。

//程序名client.c
/*功能:从客户的控制台输入一个字符,然后将这个字符送到服务器,并将服务器返回的字符显示出来*/
#include "sys/types.h"
#include "sys/socket.h"
#include "stdio.h"
#include "netinet/in.h"
#include "arpa/inet.h"
#include "unistd.h"
int main()
{
int sockfd;//
int address_len;
int connect_flag;
struct sockaddr_in address;
int connect_result;
char client_ch,server_ch;

函数socket()用于建立一个套接口,创建成功返回套接口描述符。

sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd<0)
{
printf(“sockfd error /n”);
}
address.sin_family=AF_INET;
address.sin_addr.s_addr=inet_addr(“192.168.0.1”);/*读者根据自己环境改成服务器地址*/
address.sin_port=htons(9000);

address_len=sizeof(address);

函数connect()用于与服务器建立一个主动连接,调用成功返回值为0。

connect_flag=connect(sockfd,(struct sockaddr *)&address,address_len);

if(connect_flag==-1)
{
perror(“client”);
exit(1);
}
printf(“Input a character :”);

函数scanf()用于从控制台输入一个字符,并将字符存入client_ch的地址。函数write()和read()用于传输数据。函数printf()在客户机屏幕上显示服务器传回的字符。函数close()关闭套接口。

scanf(“%c”,&client_ch);
write(sockfd,&client_ch,1);
read(sockfd,&server_ch,1);
printf(“character from server : %c/n”,server_ch);
close(sockfd);
exit(0);
}

执行命令“gcc -o client client.c”,将client.c编译成client。执行“./client”,在程序提示下输入一个字符,就能看到服务器传回的字符。

以上介绍的仅是简单的例子。平时见到的服务程序远比它复杂,而且很多是多协议服务程序或是多协议多服务程序。多协议服务程序就是在main()中分别创建供服务的TCP和UDP套接口。为每个服务分别写出相应程序好处是便于控制,但是这样每个服务都启动两个服务器,而它们的算法响应是一样的,就要耗费不必要的资源,并且出了问题排错也较困难。多服务是将不同的服务集成在一起由一个程序完成,可用一个数组表示服务,数组中的每一项表示某协议某服务的一种,这样很容易扩展程序的服务功能。

Ⅷ 新手学堂:Linux操作系统下如何添加服务

首先拷贝一个下面的模板备用,下面解释一下
#!/bin/sh
是说明该脚本调用的shell的类型
#chkconfig:
2345
80
05
其中2345是指明服务的运行等级,80表明是系统启动时要启动第80号服务(服务号可以重复)。05表明是系统关闭要停止的服务号。
#descrīption:
service
这里的service你可以随便添,但必须有
case
$1
in
这里的case是个选择语句。$1是个变量,用于指代下面的start,stop等等。
然后就可以在start)下写服务启动要执行的命令了。
stop)下写的是服务停止时执行的命令。
*)下写其他情况下的执行内容。
保存成文件名为service,然后拷贝到/etc/init.d/下,然后启动shell,输入
chkconfig
--add
service
服务就添加成功了。
然后你就可以用chkconfig
--list查看,在服务列表里就会出现自定义的服务了。
#!/bin/sh#chkconfig:
2345
80
05
#descrīption:
service
case
$1
instart);;stop);;*);;esac

Ⅸ linux chkconfig怎么添加开机启动服务

方法一:

一、赋予脚本可执行权限(/opt/script/autostart.sh是你的脚本路径)

热点内容
db2数据库别名 发布:2024-10-08 08:19:02 浏览:239
如何更换安卓系统时钟 发布:2024-10-08 08:12:54 浏览:396
电脑创建服务器软件 发布:2024-10-08 08:12:47 浏览:476
如何防微信恶意找回密码 发布:2024-10-08 08:01:58 浏览:812
aspnet存储过程分页 发布:2024-10-08 08:01:47 浏览:460
王者安卓怎么拍高清视频教程 发布:2024-10-08 07:57:04 浏览:262
酒吧灯光编程 发布:2024-10-08 07:52:42 浏览:8
别克英朗买15哪个配置好 发布:2024-10-08 07:43:38 浏览:237
android安装sdk 发布:2024-10-08 07:42:41 浏览:328
qq空间音乐缓存 发布:2024-10-08 07:05:49 浏览:738