unit-1.18.0版本安装

NGINX单元可在各种类似Unix的操作系统上编译并运行,包括:

  • FreeBSD 10或更高版本
  • Linux 2.6或更高版本
  • macOS 10.6或更高版本
  • Solaris 11

它还支持大多数现代指令集体系结构,例如:

  • ARM
  • IA-32
  • PowerPC
  • MIPS
  • S390X
  • x86-64

Unit可以运行的应用程序语言和平台(包括同一语言的多个版本):

  • 转到1.6或更高版本
  • Java 8或更高版本
  • Node.js 8.11或更高版本
  • PHP 5、7
  • Perl 5.12或更高版本
  • Python 2.6、2.7、3
  • Ruby 2.0或更高版本

Docker映像

要从NGINX的Docker映像存储库安装并运行Unit:

$ docker pull nginx/unit
$ docker run -d nginx/unit

默认图像标签为:latest; 它解析为-full 最新单元版本的配置。其他标签

标签描述
1.18.0-full适用于所有受支持语言的模块。
1.18.0-minimal没有语言模块。
1.18.0-<language>特定的语言模块,例如1.18.0-ruby2.3或 1.18.0-python2.7

我们还将这些图像作为压缩包发布在我们的网站上

$ curl -O https://packages.nginx.org/unit/docker/1.18.0/nginx-unit-1.18.0-full.tar.gz
$ curl -O https://packages.nginx.org/unit/docker/1.18.0/nginx-unit-1.18.0-full.tar.gz.sha512
$ sha512sum -c nginx-unit-1.18.0-full.tar.gz.sha512
      nginx-unit-1.18.0-full.tar.gz: OK
$ docker load < nginx-unit-1.18.0-full.tar.gz

注意

控制套接字的路径名是/var/run/control.unit.sock

有关更多详细信息,请参见存储库页面和官方的Howto

初始配置

官方映像支持通过ENTRYPOINT 脚本实现的初始容器配置 。

首先,脚本检查容器的Unit state目录/var/lib/unit/以官方图像显示)。如果为空,则脚本将处理容器/docker-entrypoint.d/目录中的某些文件类型:

文件类型目的/行动
.pem证书包以各自的名称上传cert.pemcertificates/cert
.json配置摘要已上传到configUnit的配置部分。
.sh.pem和 .json文件上传后在容器中运行的Shell脚本。

注意

该脚本会发出有关/docker-entrypoint.d/目录中其他文件类型的警告 。另外,您的Shell脚本必须设置执行权限。

此机制使您可以在启动时自定义容器,重用配置并自动执行工作流程,从而减少了人工工作。要使用该功能,请将COPY证书包,配置片段和shell脚本的指令添加到Dockerfile从官方映像派生的指令中:

FROM nginx/unit:1.18.0-minimal
COPY ./*.pem  /docker-entrypoint.d/
COPY ./*.json /docker-entrypoint.d/
COPY ./*.sh   /docker-entrypoint.d/

注意

请注意,正在运行的Unit甚至会填充一次其state目录;这会阻止脚本执行,因此,必须先进行基于脚本的初始化,然后才能在派生映像中运行Unit。

如果您要将Unit绑定到某个应用程序配置以供以后使用,此功能将非常有用。对于临时初始化,可以在启动时将包含配置文件的目录安装到容器中:

$ docker run -d --mount \
         type=bind,src=/path/to/config/files/,dst=/docker-entrypoint.d/ \
         nginx/unit:latest)

官方套餐

在大多数情况下,最好安装预编译的Unit二进制软件包。 官方二进制文件可用于:

  • Amazon Linux,Amazon Linux 2
  • CentOS 6、7、8
  • Debian 8、9、10
  • Fedora 28、29、30、31、32
  • RHEL 6、7、8
  • Ubuntu 16.04、18.04、18.10、19.04、19.10、20.04

其中包括核心的Unit可执行文件,开发人员文件以及每种语言的支持包。

我们还为macOS用户维护官方的Homebrew 水龙头

注意

npm注册表中提供了单元的Node.js 语言模块

注意

有关打包与官方Unit一起安装的定制模块的详细信息,请参见此处

亚马逊Linux

支持的体系结构:x86-64。2.0 LTS

  1. 要配置单位存储库,请创建以下文件,名为 /etc/yum.repos.d/unit.repo[unit] name=unit repo baseurl=https://packages.nginx.org/unit/amzn2/$releasever/$basearch/ gpgcheck=0 enabled=1
  2. 安装Unit基本软件包和您要使用的其他软件包:# yum install unit # yum install unit-devel unit-go unit-jsc8 unit-perl \ unit-php unit-python27 unit-python37

急性心肌梗死

注意

控制套接字的路径名是/var/run/unit/control.sock

CentOS的

8.x,7.x

支持的体系结构:x86-64

  1. 要配置单位存储库,请创建以下文件,名为 /etc/yum.repos.d/unit.repo[unit] name=unit repo baseurl=https://packages.nginx.org/unit/centos/$releasever/$basearch/ gpgcheck=0 enabled=1
  2. 安装Unit基本软件包和您要使用的其他软件包:# yum install unit # yum install unit-devel unit-go unit-jsc8 unit-jsc11 \ unit-perl unit-php unit-python27 unit-python36

6.x

注意

控制套接字的路径名是/var/run/unit/control.sock

德比安

支持的体系结构:i386x86-64。10

  1. 下载NGINX的签名密钥,并将其添加到 apt的密钥环中:# curl -sL https://nginx.org/keys/nginx_signing.key | apt-key add – 这消除了安装过程中的“程序包无法通过身份验证”警告。
  2. 要配置单位存储库,请创建以下文件,名为 /etc/apt/sources.list.d/unit.list:deb https://packages.nginx.org/unit/debian/ buster unit deb-src https://packages.nginx.org/unit/debian/ buster unit
  3. 安装Unit基本软件包和您要使用的其他软件包:# apt update # apt install unit # apt install unit-dev unit-go unit-jsc11 unit-perl \ unit-php unit-python2.7 unit-python3.7 unit-ruby

98

注意

控制套接字的路径名是/var/run/control.unit.sock

软呢帽

支持的体系结构:x86-64。32

  1. 要配置单位存储库,请创建以下文件,名为 /etc/yum.repos.d/unit.repo[unit] name=unit repo baseurl=https://packages.nginx.org/unit/fedora/$releasever/$basearch/ gpgcheck=0 enabled=1
  2. 安装Unit基本软件包和您要使用的其他软件包:# yum install unit # yum install unit-devel unit-go unit-jsc11 unit-jsc8 unit-perl \ unit-php unit-python38 unit-ruby

31、302928

注意

控制套接字的路径名是/var/run/unit/control.sock

RHEL

8.x,7.x

支持的体系结构:x86-64

  1. 要配置单位存储库,请创建以下文件,名为 /etc/yum.repos.d/unit.repo[unit] name=unit repo baseurl=https://packages.nginx.org/unit/rhel/$releasever/$basearch/ gpgcheck=0 enabled=1
  2. 安装Unit基本软件包和您要使用的其他软件包:# yum install unit # yum install unit-devel unit-go unit-jsc8 unit-jsc11 \ unit-perl unit-php unit-python27 unit-python36

6.x

注意

控制套接字的路径名是/var/run/unit/control.sock

的Ubuntu

20.04

支持的体系结构:arm64x86-64

  1. 下载NGINX的签名密钥,并将其添加到 apt的密钥环中:# curl -sL https://nginx.org/keys/nginx_signing.key | apt-key add – 这消除了安装过程中的“程序包无法通过身份验证”警告。
  2. 要配置单位存储库,请创建以下文件,名为 /etc/apt/sources.list.d/unit.list:deb https://packages.nginx.org/unit/ubuntu/ focal unit deb-src https://packages.nginx.org/unit/ubuntu/ focal unit
  3. 安装Unit基本软件包和您要使用的其他软件包:# apt update # apt install unit # apt install unit-dev unit-go unit-jsc11 unit-perl \ unit-php unit-python2.7 unit-python3.8 unit-ruby

19.1019.0418.1018.0416.04

注意

控制套接字的路径名是/var/run/control.unit.sock

家酿

从我们的官方自制软件在Mac OS安装单位水龙头

$ brew install nginx/unit/unit  # perform core installation
$ which unitd                   # confirm the executable location
      /usr/local/bin/unitd
$ unitd --version               # check ./configure flags
      unit version: 1.18.0

这将部署Unit二进制文件以及GoNode.js 语言模块安装的先决条件。

要从Homebrew安装Java,Perl,Python和Ruby语言模块:

$ brew install unit-java unit-perl unit-python unit-python3 unit-ruby

注意

控制插座位于: /usr/local/var/run/unit/control.sock

要安装Go语言模块:

$ go get unit.nginx.org/go

而已; 现在,您可以使用它在Unit中运行Go应用。

NPM上的Node.js

Unit的npm托管的 Node.js模块是unit-http。您的Node.js应用程序必须require使其在Unit中运行:

  1. 首先,安装unit-dev/unit-devel 软件包,这是构建unit-http所必需的。
  2. 接下来,全局构建并安装unit-http(此步骤需要 npmnode-gyp):# npm install -g –unsafe-perm unit-http 警告所述单元-HTTP模块是平台相关的,由于优化; 您无法使用其余的跨系统移动它 node-modules。全局安装避免了这种情况;只需 重新链接已迁移的应用即可。
  3. 之后,使用 Node.js应用程序中的模块而不是内置的http在Unit中运行它。注意Express等框架可能需要对代码进行额外 更改

如果以后更新单元,请确保也更新模块:

# npm update -g --unsafe-perm unit-http

注意

您还可以配置安装单位HTTP从源模块。

启动和关机

运行unitd -hunited –version以验证Unit可用或列出其设置。要管理安装:

# systemctl enable unit
# systemctl restart unit
# systemctl stop unit
# systemctl disable unit

社区资料库

警告

这些发行版由各自的社区维护,而不是由NGINX维护。请谨慎操作。

高山Linux

要使用Alpine Linux软件包安装Unit的核心可执行文件:

# apk update
# apk upgrade
# apk add unit

要安装服务管理器文件和特定语言模块:

# apk add unit-openrc unit-perl unit-php7 unit-python3 unit-ruby

注意

控制套接字的路径名是/run/control.unit.sock

Arch Linux

要使用Arch用户存储库(AUR)安装Unit,请执行以下操作

# pacman -S git
$ git clone https://aur.archlinux.org/nginx-unit.git
$ cd nginx-unit

警告

确认PKGBUILD和随附文件不是恶意文件或不可信文件。AUR软件包完全由用户制作,无需预先审核;使用它们需要您自担风险。

$ makepkg -si

注意

控制套接字的路径名是/run/nginx-unit.control.sock

CentOS / RHEL SCL

如果您在环境中使用SCLo Software Collections,则可以将Unit的PHP模块作为软件包从相应的存储库中安装。除其他依赖项外,软件包还需要安装核心单元

CentOS的:

# yum install centos-release-scl
# yum install --enablerepo=centos-sclo-sclo-testing \
      sclo-php70-unit-php sclo-php71-unit-php sclo-php72-unit-php

RHEL:

# cd /etc/yum.repos.d/
# curl -O https://copr.fedorainfracloud.org/coprs/rhscl/centos-release-scl/repo/epel-7/rhscl-centos-release-scl-epel-7.repo
# yum install centos-release-scl
# yum install --enablerepo=centos-sclo-sclo-testing \
      sclo-php70-unit-php sclo-php71-unit-php sclo-php72-unit-php

FreeBSD

要使用FreeBSD软件包安装Unit ,请更新存储库并安装软件包

# pkg install -y unit

注意

控制套接字的路径名是/var/run/unit/control.unit.sock

要使用FreeBSD端口安装Unit ,请更新端口集合。

对于portsnap

# portsnap fetch update

对于svn

# svn update /usr/ports

接下来,浏览到端口路径以构建和安装端口:

# cd /usr/ports/www/unit
# make
# make install

警告

这些命令将编译并安装端口。要仅使用我们的资源进行单元构建,请参见下文

注意

控制套接字的路径名是/var/run/unit/control.unit.sock

Gentoo

要使用Portage安装Unit ,请更新存储库并安装软件包

# emerge --sync
# emerge www-servers/nginx-unit

注意

控制套接字的路径名是/run/nginx-unit.sock

NixOS / Nix

要使用Nix软件包管理器安装Unit ,请更新存储库并安装软件包

$ nix-channel --update
$ nix-env -qa 'unit'    # check availability and version
$ nix-env -i unit       # install Unit

注意

控制套接字的路径名是/run/unit/control.unit.sock

雷米的RPM回购

Remi的RPM存储库(托管用于CentOS,Fedora和RHEL的最新版本的PHP堆栈)也具有基本的Unit软件包和PHP模块。

要使用Remi的Unit软件包版本,请先配置Remi的RPM存储库。Remi的PHP语言模块还与我们自己的存储库中的基本Unit包兼容。

接下来,安装Unit和所需的PHP模块:

# yum install --enablerepo=remi unit php54-unit-php php55-unit-php \
      php56-unit-php php70-unit-php php71-unit-php php72-unit-php php73-unit-php

注意

控制套接字的路径名是/var/run/unit/control.sock

源代码

获取来源

您可以从我们的官方Mercurial存储库,其GitHub镜像或tarball中获得Unit源代码。

如果您想使用Mercurial

$ hg clone https://hg.nginx.org/unit
$ cd unit

如果您更喜欢Git

$ git clone https://github.com/nginx/unit
$ cd unit

要直接从我们的网站下载资源:

$ curl -O https://unit.nginx.org/download/unit-1.18.0.tar.gz
$ tar xzf unit-1.18.0.tar.gz
$ cd unit-1.18.0

安装所需的软件

在配置和编译Unit之前,请安装必需的构建工具以及适用于可用语言(Go,Node.js,PHP,Perl,Python和Ruby)的库文件以及您希望Unit支持的其他功能。

以下命令假定您正在使用所有受支持的语言和功能配置Unit;否则,请跳过不使用的软件包。Debian,Ubuntu

# apt install build-essential
# apt install golang
# curl -sL https://deb.nodesource.com/setup_version.x | bash -
# apt install nodejs
# npm install -g node-gyp
# apt install php-dev libphp-embed
# apt install libperl-dev
# apt install python-dev
# apt install ruby-dev
# apt install openjdk-8-jdk
# apt install libssl-dev

Amazon Linux,CentOS,Fedora,RHELFreeBSD的Solaris

配置源

要运行系统兼容性检查并Makefile为Unit 生成with核心构建说明,请执行以下操作:

$ ./configure <command-line options>

要最终确定结果Makefile,请配置所需的语言模块

常规./configure选项:

--help显示常用./configure选项的摘要。有关特定于语言的详细信息,请运行./configure <语言> –help或参阅下文

这些选项控制编译过程:

--cc=pathname自定义C编译器路径名。默认值为cc
--cc-opt=options, --ld-opt=options
 C编译器和链接器的附加选项。

以下选项对控制Unit的运行时特权:

--group=name, --user=name
 组名称和用户名,用于运行Unit的非特权进程。默认分别是--user的主要组和 nobody

这些标志启用或禁用对某些功能的支持:

--debug打开调试日志
--no-ipv6关闭IPv6支持。
--no-unix-sockets
 关闭Unix域套接字支持。
--openssl打开OpenSSL支持。确保在编译器的搜索路径中有OpenSSL(1.0.1及更高版本)头文件和库可用。要自定义路径,请提供--cc-opt和 --ld-opt选项;您还可以设置CFLAGS 和 LDFLAGS运行./configure之前的环境变量 。有关详细信息,请参见SSL / TLS和证书

最后一个选项组自定义Unit的运行时目录结构

--prefix=prefix
 对于目标目录前缀路径选项--bindir--sbindir, --libdir--incdir--modules, --state--pid--log,和 --control
--bindir=directory, --sbindir=directory
 最终用户和sysadmin可执行文件的目录路径。默认值分别是binsbin
--control=socket
 IPv4,IPv6或Unix(带unix: 前缀)域格式的控制API套接字地址:$ ./configure –control=unix:/path/to/control.unit.sock $ ./configure –control=127.0.0.1:8080 $ ./configure –control=[::1]:8080 警告出于安全原因,请避免在生产中打开公共接口上的套接字。默认值为unix:control.unit.sock,创建时 root具有600权限。
--incdir=directory, --libdir=directory
 libunit头文件和库的目录路径。默认值分别是includelib
--log=pathname单位日志的路径名。默认值为unit.log
--modules=directory
 单位语言模块的目录路径。默认值为modules
--pid=pathnameUnit的守护进程的PID文件的路径名。默认值为unit.pid
--state=directory
 单元状态存储的目录路径。它包含运行时配置,证书和其他记录;如果您迁移安装,请复制整个目录。警告机组状态包括敏感数据,并且必须为所拥有的root 与700权限。避免通过外部方式更新目录;而是使用Unit的config API来确保数据一致性。默认值为state
--tmp=directory
 定义临时文件位置(用于转储大型请求正文)。默认值为tmp

目录结构

要自定义Unit安装目录和运行时目录,您可以:

  • 设置--prefix和路径选择(它们的相对设置前缀为基础)中的配置来设置运行时文件结构:单位使用这些设置来定位它的模块,状态,和其他文件。
  • 设置 DESTDIR 安装过程中的 变量。单元的文件结构位于指定的目录中,该目录可以是最终安装目标,也可以是中间暂存位置。

根据需要协调这两个选项,以自定义目录结构。一种常见的情况是基于绝对路径进行安装:

  1. 使用--prefix和路径选项设置绝对运行时路径:$ ./configure –state=/var/lib/unit –log=/var/log/unit.log \ –control=unix:/run/control.unit.sock –prefix=/usr/local/ 如此配置后,Unit将在自定义位置存储其状态,日志和控制套接字。其他文件将具有默认的基于前缀的路径。在这里, unitd放到的/usr/local/sbin/模块 /usr/local/modules/
  2. 对于进一步的包装或容器化,请DESTDIR在安装时指定将文件放置在暂存位置,同时保留其相对结构。否则,请省略DESTDIR直接安装。

另一种情况是可以在文件系统中移动的构建:

  1. 使用--prefix和路径选项设置相对的运行时路径:$ ./configure –state=config –log=log/unit.log \ –control=unix:control/control.unit.sock –prefix=movable 通过这种配置,Unit将通过基于前缀的路径(默认路径和自定义路径)存储文件,例如 或。<working directory>/movable/sbin/<working directory>/movable/config/
  2. DESTDIR在安装构建时指定。您可以根据需要迁移此类构建。移动整个文件结构并从基本目录启动二进制文件,以便相对路径保持有效:$ cd <DESTDIR> # movable/sbin/unitd <command-line options>

您可以组合使用这些方法,但要小心了解设置如何协同工作。

配置模块

接下来,为您要与Unit一起使用的每种语言配置一个模块。所述 的./configure <语言>命令设置在各个语言模块和模块特定地方的指令Makefile

注意

要以多种语言版本运行应用,请为每个版本构建并安装一个模块。

当您运行./configure go时,Unit会设置Go软件包,以使您的应用程序可以在Unit中运行。要使用该软件包,请将安装在Go环境中。可用的配置选项:

--go=pathname具体去执行路径,也可用于化妆的目标。默认值为go
--go-path=directory
 Go软件包安装的自定义目录路径。默认值为$GOPATH

注意

的./configure脚本不会改变GOPATH 环境变量。两条路径(配置时--go-path和编译时 GOPATH)在构建时必须保持一致,以便Go可以找到Unit包。

爪哇

当您运行./configure java时,脚本会配置一个模块以支持在Unit中运行Java Web应用程序。可用的命令选项:

--home=directory
 Java实用程序和头文件的目录路径(用于构建模块)。默认为java.home设置。
--jars=directory
 单位自定义.jar文件的目录路径。默认值为Java模块路径。
--lib-path=directory
 libjvm.so库的目录路径。默认值基于JDK设置。
--local-repo=directory
 本地.jar存储库的目录路径。默认值为$HOME/.m2/repository/
--repo=directory
 远程Maven存储库的URL路径。默认值为http://central.maven.org/maven2/
--module=filename
 在Java模块的名字建(<module>.unit.so),也可用于化妆的目标。默认值为java

要配置java11.unit.so使用OpenJDK 11.0.1 调用的模块:

$ ./configure java --module=java11 \
                   --home=/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home

Node.js

当您运行./configure nodejs时,Unit设置 unit-http模块,使您的应用程序可以在Unit中运行。可用的配置选项:

--local=directory
 Node.js模块安装的本地目录路径。默认情况下,模块是全局安装的(推荐)
--node=pathname
 具体Node.js加载可执行文件路径名,也可用于 化妆的目标。默认值为node
--npm=pathname特定的NPM可执行文件路径名。默认值为npm
--node-gyp=pathname
 特定的node-gyp可执行文件路径名。默认值为node-gyp

佩尔

当您运行./configure perl时,脚本会将模块配置为支持运行Perl脚本作为Unit中的应用程序。可用的命令选项:

--perl=pathname
 特定的Perl可执行文件路径名。默认值为perl
--module=filename
 Perl的模块名称待建(<module>.unit.so),也可用于化妆的目标。默认值为--perl可执行文件的文件名。

要配置perl-5.20.unit.so为Perl 5.20.2 调用的模块:

$ ./configure perl --module=perl-5.20 \
                   --perl=perl5.20.2

的PHP

当您运行./configure php时,脚本会配置一个模块,以支持通过PHP的嵌入式 SAPI 在Unit中运行PHP应用程序。可用的命令选项:

--config=pathname
 调用php-config脚本以配置PHP模块的路径名。默认值为php-config
--lib-path=directory
 PHP的嵌入 SAPI库文件(libphp<version>.so.a)的目录路径。
--lib-static链接静态嵌入的 SAPI库(libphp<version>.a)而不是动态的链接(libphp<version>.so);要求 --lib-path
--module=filename
 PHP模块的名字建(<module>.unit.so),也可用于化妆的目标。默认值是--config的文件名减去 -config后缀(/path/php7-configphp7)。

要配置php70.unit.so为PHP 7.0 调用的模块:

$ ./configure php --module=php70 \
                  --config=/usr/lib64/php7.0/bin/php-config \
                  --lib-path=/usr/lib64/php7.0/lib64

蟒蛇

当您运行./configure python时,脚本会将模块配置为支持将Python脚本作为Unit中的应用程序运行。可用的命令选项:

--config=pathname
 调用以配置Python模块的python-config脚本的路径名。默认值为python-config
--lib-path=directory
 与Unit一起使用的Python运行时库的自定义目录路径。
--module=filename
 在Python模块的名字建(<module>.unit.so),也可用于化妆的目标。默认值是--config的文件名减去-config后缀(/path/python3-configpython3)。

要配置py33.unit.so为Python 3.3 调用的模块:

$ ./configure python --module=py33 \
                     --config=python-config-3.3

红宝石

当您运行./configure ruby​​时,脚本将配置一个模块以支持将Ruby脚本作为Unit中的应用程序运行。可用的命令选项:

--module=filename
 Ruby的模块名称待建(<module>.unit.so),也可用于化妆的目标。默认值为--ruby可执行文件的文件名。
--ruby=pathname
 特定的Ruby可执行文件路径名。默认值为ruby

要配置一个称为ru23.unit.soRuby 2.3 的模块:

$ ./configure ruby --module=ru23 \
                   --ruby=ruby23

建筑安装单元

要构建和安装您先前具有./configure的Unit可执行文件和语言模块,请执行以下操作 :

$ make
# make install

您还可以分别构建和安装语言模块;具体方法取决于语言模块是嵌入在Unit中还是外部包装。

注意

有关单位语言模块的更多详细信息,请参见使用语言模块

嵌入式语言模块

要在配置后为Java,PHP,Perl,Python或Ruby构建和安装Unit模块,请运行make <module>进行make <module> -install,例如:

$ make perl-5.20
# make perl-5.20-install

外部语言模块

要在配置后全局为Go和Node.js构建和安装Unit模块,请运行make <go> -installmake <node> -install,例如:

# make go-install
# make node-install

注意

要在本地安装Node.js模块,请运行make <node> -local-install

# make node-local-install

如果您之前未使用./configure nodejs指定--local 目录,请在此处提供:DESTDIR = / your / project / directory。如果同时指定了两个选项,则为该值加上前缀。DESTDIR--local

但是,请注意,对于Node.js模块,建议使用全局安装。

如果使用--go或 定制可执行文件路径名--node,请使用以下模式:

$ ./configure nodejs --node=/usr/local/bin/node8.12
# make /usr/local/bin/node8.12-install

$ ./configure go --go=/usr/local/bin/go1.7
# make /usr/local/bin/go1.7-install

启动

我们建议从预编译的软件包中安装Unit ;在这种情况下,启动自动配置

即使您以其他方式安装Unit,也不建议手动启动。而是配置服务管理器(例如OpenRCsystemd)或使用以下选项创建rc.d脚本以启动Unit守护程序。

从安装子目录中运行united as 。通常,默认的编译时设置不需要覆盖。使用该选项查看其值。有关详细信息和安全说明,请参见此处rootsbin--help

常规选项:

--help, -h显示单位命令行选项的摘要及其在编译时设置的默认值。
--no-daemon在非守护程序模式下运行Unit。
--version显示单元的版本及其建立的./configure设置。

以下选项将覆盖编译时设置

--control socket
 IPv4,IPv6或Unix(带unix: 前缀)域格式的控制API套接字地址:# unitd –control unix:/path/to/control.unit.sock # unitd –control 127.0.0.1:8080 # unitd –control [::1]:8080
--group name, --user name
 用于运行Unit的非特权进程的组名和用户名。
--log pathname单位日志的路径名。
--modules directory
 单位语言模块(<module>.unit.so文件)的目录路径。
--pid pathnameUnit 进程的PID文件的路径名。
--state directory
 单元状态存储的目录路径。

Was this helpful?

0 / 0

发表评论 0

Your email address will not be published. Required fields are marked *