西数超哥博客
运维经验教程分享的博客

Nginx安装并加入systemctl管理服务

OS:CentOS 7.4

一、安装nginx

# rpm -qa | grep nginx

查找有没有nginx

#mkdir /media/cdrom

创建本地yum源挂载点

# mount /dev/cdrom /media/cdrom

挂载光盘做本地yum源

yum -y install wget automake autoconf libtool libxml2-devel libxslt-devel perl-devel perl-ExtUtils-Embed pcre-devel openssl-devel gcc gcc-c++

安装依赖关系

# tar xf ngixn-1.5.1.tar.gz

解压缩nginx

# mkdir -p /var/cache/nginx

创建目录为nginx后续上传临时文件做准备

#cd nginx-1.5.1/

进入nginx-1.5.1目录

# ./configure –prefix=/usr/local/nginx –sbin-path=/usr/sbin/nginx –conf-path=/etc/nginx/nginx.conf –error-log-path=/var/log/nginx/error.log –http-log-path=/var/log/nginx/access.log –pid-path=/var/run/nginx.pid –lock-path=/var/run/nginx.lock –http-client-body-temp-path=/var/cache/nginx/client_temp –http-proxy-temp-path=/var/cache/nginx/proxy_temp –http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp –http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp –http-scgi-temp-path=/var/cache/nginx/scgi_temp –user=nobody –group=nobody –with-pcre –with-http_v2_module –with-http_ssl_module –with-http_realip_module –with-http_addition_module –with-http_sub_module –with-http_dav_module –with-http_flv_module –with-http_mp4_module –with-http_gunzip_module –with-http_gzip_static_module –with-http_random_index_module –with-http_secure_link_module –with-http_stub_status_module –with-http_auth_request_module –with-mail –with-mail_ssl_module –with-file-aio –with-ipv6 –with-http_v2_module –with-threads –with-stream –with-stream_ssl_module

Nginx安装并加入systemctl管理服务 运维知识 第1张

Nginx安装并加入systemctl管理服务 运维知识 第2张

Nginx安装并加入systemctl管理服务 运维知识 第3张

#  make  -j4

# make  install

编译安装

 

二、Nginx服务快捷启动设置

# /usr/sbin/nginx

启动nginx

如果出现Address already in use代表端口被占用

# cat nginx.conf | grep -v “^$” | grep -v “#”

查看 nginx配置文件 把空白行 还有 注释行以外的内容

 

将nginx加入到systemctl

#vim /usr/lib/systemd/system/nginx.service

[Unit]

Description=nginx  web server

Documentation=http://nginx.org/en/docs/

After=network.target remote-fs.target nss-lookup.target

 

[Service]

Type=forking

PIDFile=/var/run/nginx.pid

ExecStartPre=/usr/sbin/nginx -t -c /etc/nginx/nginx.conf

ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf

ExecReload=/bin/kill -s HUP $MAINPID

ExecStop=/bin/kill -s QUIT $MAINPID

PrivateTmp=true

 

[Install]

WantedBy=multi-user.target

 

#killall nginx

就可以正常使用systemctl restart (start、stop、……) nginx了

[Unit]部分主要是对这个服务的说明,内容包括Description和After,Description用于描述服务,After用于描述服务类别

[Service]部分是服务的关键,是服务的一些具体运行参数的设置,这里Type=forking>是后台运行的形式,PIDFile为存放PID的文件路径,ExecStart为服务的具体运行命令>,ExecReload为重启命令,ExecStop为停止命令,PrivateTmp=True表示给服务分配独>立的临时空间,注意:[Service]部分的启动、重启、停止命令全部要求使用绝对路径>,使用相对路径则会报错!

[Install]部分是服务安装的相关设置,可设置为多用户的

服务脚本按照上面编写完成后,以754的权限保存在/usr/lib/systemd/system目录下,

这时就可以利用systemctl进行配置了

首先,使用systemctl start [服务名(也是文件名)]可测试服务是否可以成功运行,

如果不能运行则可以使用systemctl status [服务名(也是文件名)]查看错误信息和其他服务信息,然后根据报错进行修改,直到可以start,如果不放心还可以测试restart和stop命令。

接着,只要使用systemctl enable xxxxx就可以将所编写的服务添加至开机启动即可。

 

www.ysidc.top 西数超哥博客,数据库,西数超哥,虚拟主机,域名注册,域名,云服务器,云主机,云建站,ysidc.top

赞(1) 打赏
声明:本站发布的内容(图片、视频和文字)以原创、转载和分享网络内容为主,若涉及侵权请及时告知,将会在第一时间删除。本站原创内容未经允许不得转载:西数超哥 » Nginx安装并加入systemctl管理服务

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏