编译安装linux所需,CentOS7上编译安装Tengine

第一步:先安装所需依赖环境

yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel libxml2 libxml2-dev libxslt libxslt-devel gd-devel perl-devel perl-ExtUtils-Embed GeoIP GeoIP-devel GeoIP-data gperftools-devel.x86_64 -y

yum install install redhat-rpm-config -y

第二步:编译Tengine

wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz

tar -zxvf tengine-2.3.2.tar.gz

To install Tengine, just follow these three steps:

$ ./configure --user=nginx --group=nginx --with-file-aio --with-ipv6 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-stream_ssl_preread_module --with-http_addition_module --with-http_xslt_module=dynamic --with-http_image_filter_module=dynamic --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_degradation_module --with-http_slice_module --with-http_stub_status_module --with-http_perl_module=dynamic --with-http_auth_request_module --with-mail=dynamic --with-mail_ssl_module --with-pcre --with-pcre-jit --with-stream=dynamic --with-stream_ssl_module --with-google_perftools_module --with-debug --with-cc-opt='''-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -m64 -mtune=generic''' --with-ld-opt='''-Wl,-z,relro -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-E''' --add-module=./modules/ngx_http_upstream_dynamic_module --add-module=./modules/ngx_http_upstream_check_module --add-module=./modules/ngx_http_proxy_connect_module

$ make

# make install

默认安装路径

nginx path prefix: "/usr/local/nginx"

nginx binary file: "/usr/local/nginx/sbin/nginx"

nginx modules path: "/usr/local/nginx/modules"

nginx configuration prefix: "/usr/local/nginx/conf"

nginx configuration file: "/usr/local/nginx/conf/nginx.conf"

nginx pid file: "/usr/local/nginx/logs/nginx.pid"

nginx error log file: "/usr/local/nginx/logs/error.log"

nginx http access log file: "/usr/local/nginx/logs/access.log"

nginx http client request body temporary files: "client_body_temp"

nginx http proxy temporary files: "proxy_temp"

nginx http fastcgi temporary files: "fastcgi_temp"

nginx http uwsgi temporary files: "uwsgi_temp"

nginx http scgi temporary files: "scgi_temp"

第三步,创建nginx用户

useradd nginx -s /sbin/nologin -M

第四步:使用systemd管理开机启动并守护nginx进程

vi /usr/lib/systemd/system/nginx.service

版本一:

[Unit]

Description=The nginx HTTP and reverse proxy server

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

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t

ExecStart=/usr/local/nginx/sbin/nginx

ExecReload=/usr/local/nginx/sbin/nginx -s reload

ExecStop=/bin/kill -s QUIT $MAINPID

Restart=always

PrivateTmp=true

KillMode=mixed

[Install]

WantedBy=multi-user.target

版本二:(来自Ubuntu18)

# Stop dance for nginx

# =======================

#

# ExecStop sends SIGSTOP (graceful stop) to the nginx process.

# If, after 5s (–retry QUIT/5) nginx is still running, systemd takes control

# and sends SIGTERM (fast shutdown) to the main process.

# After another 5s (TimeoutStopSec=5), and if nginx is alive, systemd sends

# SIGKILL to all the remaining processes in the process group (KillMode=mixed).

#

# nginx signals reference doc:

# http://nginx.org/en/docs/control.html

#

[Unit]

Description=A high performance web server and a reverse proxy server

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

[Service]

Type=forking

PIDFile=/usr/local/nginx/logs/nginx.pid

ExecStartPre=/usr/local/nginx/sbin/nginx -t -q -g 'daemon on; master_process on;'

ExecStart=/usr/local/nginx/sbin/nginx -g 'daemon on; master_process on;'

ExecReload=/usr/local/nginx/sbin/nginx -g 'daemon on; master_process on;' -s reload

ExecStop=-/sbin/start-stop-daemon –quiet –stop –retry QUIT/5 –pidfile /usr/local/nginx/logs/nginx.pid

TimeoutStopSec=5

KillMode=mixed

Restart=on-failure

[Install]

WantedBy=multi-user.target

版本三:(来自CentOS7)

[Unit]

Description=The nginx HTTP and reverse proxy server

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

[Service]

Type=forking

PIDFile=/run/nginx.pid

# Nginx will fail to start if /run/nginx.pid already exists but has the wrong

# SELinux context. This might happen when running `nginx -t` from the cmdline.

# https://bugzilla.redhat.com/show_bug.cgi?id=1268621

ExecStartPre=/usr/bin/rm -f /run/nginx.pid

ExecStartPre=/usr/sbin/nginx -t

ExecStart=/usr/sbin/nginx

ExecReload=/bin/kill -s HUP $MAINPID

KillSignal=SIGQUIT

TimeoutStopSec=5

KillMode=process

PrivateTmp=true

[Install]

WantedBy=multi-user.target

——————————————————————–

附:systemd相关命令

——————————————————————–

重载systemd配置文件

systemctl daemon-reload

启动服务

systemctl start nginx.service

开机启动

systemctl enable nginx.service

更多命令

systemctl reload nginx.service 重新加载nginx服务

systemctl stop nginx.service 停止nginx服务

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值