首先服务的概念,对于linux服务器来说,其中大多数的软件都算是服务,比如nginx、mysql、Jenkins等等。下面我们就来学习一下linux中有关服务的一些内容。
1、运行级别
运行的级别有以下几种分类:
运行级别 | 含义 |
---|---|
0 | 关机 |
1 | 单用户,类似于Window的安全模式,主要用于系统修复 |
2 | 不完全多用户,类似于字符界面,但不包含NFS(Linux和Window进行文件共享)服务 |
3 | 完整的命令行模式,就是标准的字符界面 |
4 | 系统保留未使用 |
5 | 图形界面 |
6 | 重启 |
2、服务的分类
首先,系统开启的服务越少,那么服务器就会更加稳定和安全。服务的安装方式不同,启动的方式也有差异。通常服务的管理方式有两种:
RPM包
安装的服务,由软件包作者指定安装位置,独立的服务,绝大多数服务都是独立运行在内存中的,可以直接响应客户端的请求源码包
安装的服务,由我们用户决定安装位置然后,我们可以通过不同的方式查看包安装的位置:
/usr/local,可以查看该文件获取源码包的信息。
3、服务与端口
RMP 是 LINUX 下的一种软件的可执行程序,你只要安装它就可以了。这种软件安装包通常是一个RPM包(Redhat Linux Packet Manager,就是Redhat的包管理器),后缀是.rpm。
RPM是Red Hat公司随Redhat Linux推出了一个软件包管理器,通过它能够更加轻松容易地实现软件的安装。就是类似于node中的npm咯。
rpm的常用命令如下:
i
表示安装install,v
表示显示安装过程verbose,h
表示显示进度。另外要说一下的是repo这个东西,
我们可以通过下面的命令来查看repo相关的信息:
cat /etc/yum.conf
/etc/yum.repos.d
/etc/yum.repos.d/nginx.repo
另外,我们来看看RPM包相关的一些文件:
文件 | 含义 |
---|---|
/etc | 配置文件位置 |
/etc/init.d | 启动脚本位置 |
/etc/sysconfig | 初始化环境配置文件位置 |
/var/lib | 服务产生的数据放在这里 |
/var/log | 日志 |
最后,
systemctl
rpm -ivh http://nginx.org/packages/centos/6/noarch/RPMS/nginx-release-centos-6-0.el6.ngx.noarch.rpm
yum info nginx
yum install -y nginx
systemctl start nginx.service
netstat -ltun | grep 80
curl http://localhost
我们要知道源码包安装的时候需要使用绝对路径,调用启动脚本来启动。不同的源码包的启动脚本不一样,要通过阅读源码包安装说明的方式来查看启动的方法。
下面我们来看下,通过源码包的方式,如何安装nginx。
首先,我们要安装一下源码包服务的一些依赖:
yum install gcc gcc-c++ perl -y
成功之后呢,会提示一个:
就安装成功啦。然后,我们来建个文件夹,用来存储稍后我们要下载下来的源码包:
我是在根目录建的,理论上讲,随便你保存在哪里都行,但是要注意各根文件的具体意义,不要放的太随便,然后,我们进入到刚才我们创建的文件夹中。
然后我们通过命令,安装以下四个源码包:
当然,以上只是具体的版本,其他的版本可以去对应的官网找,这里就不多说了。
下载完后,我们的目录里面是这样的:
然后,我们要把这些压缩包全部解压:
tar -zxvf nginx-1.10.3.tar.gz
tar -zxvf openssl-1.0.2n.tar.gz
tar -zxvf pcre-8.44.tar.gz
tar -zxvf zlib-1.2.11.tar.gz
挨个执行吧。解压之后呢,我们的目录就是这样的了:
首先,我们进入到nginx-1.10.1的源码目录里,然后执行下面的配置代码:
./configure --prefix=/usr/local/nginx \
--pid-path=/usr/local/nginx/nginx.pid \
--error-log-path=/usr/local/nginx/error.log \
--http-log-path=/usr/local/nginx/access.log \
--with-http_ssl_module \
--with-mail --with-mail_ssl_module \
--with-stream --with-threads \
--user=comex --group=comexgroup \
--with-pcre=/nginx-package/pcre-8.44 \
--with-zlib=/nginx-package/zlib-1.2.11 \
--with-openssl=/nginx-package/openssl-1.0.2n
然后通过make命令,把c或c++的代码,编译成我们可以使用的样子。要编译一段时间。
安装完成后执行nginx命令,发现找不到nginx命令,这是因为我们没有配置相关的命令,需要我们手动去配置。那我们来搞一下吧:
后续需要配置对应的命令,并授权给用户,就可以启动nginx了。