alpline 构建lnmp

news/2025/10/14 14:57:15/文章来源:https://www.cnblogs.com/gshelldon/p/19141119

alpline 构建lnmp

default.conf

map $http_upgrade $connection_upgrade {default upgrade;''      close;
}server {listen 80;root "/app/public";index index.php;charset utf-8;location / {try_files $uri $uri/ /index.php?$query_string;}location = /favicon.ico { access_log off; log_not_found off; }location = /robots.txt  { access_log off; log_not_found off; }access_log off;error_log  off;sendfile on;client_max_body_size 100m;location ~ \.php$ {fastcgi_split_path_info ^(.+\.php)(/.+)$;fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_intercept_errors off;fastcgi_buffer_size 16k;fastcgi_buffers 4 16k;fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;}location ~ /\.ht {deny all;}
}

Dockerfile

3.11 版alpine,默认对应的php版本是7.3.22

FROM alpine:3.11LABEL maintainer="gongxiaoliao@kailinjt.com"COPY Shanghai /etc/localtimeENV TIME_ZONE Asia/ShanghaiRUN echo "net.core.somaxconn = 65535" >> /etc/sysctl.conf && \echo 'vm.overcommit_memory = 1' >> /etc/sysctl.conf && \echo "Asia/Shanghai" > /etc/timezone# 添加用户 
RUN adduser www -H -D -s /sbin/nologin && \adduser redis -H -D -s /sbin/nologin# 安装nginx
RUN apk add nginx && \sed -i '/user/s#nginx#www#' /etc/nginx/nginx.conf && \mkdir -p /run/nginx && \chown -R www.www /run/nginxCOPY default.conf /etc/nginx/conf.d/# 安装php
RUN apk add php7 php7-fpm php7-pecl-apcu php7-bcmath php7-ctype php7-curl php7-dom php7-exif php7-fileinfo \php7-gd php7-iconv php7-pecl-igbinary php7-intl php7-json php7-pecl-mcrypt php7-mysqli php7-pcntl php7-pdo \php7-pdo_mysql php7-pdo_pgsql php7-phar php7-posix php7-pecl-redis php7-session php7-simplexml php7-tokenizer \php7-xml php7-xsl php7-opcache php7-zip php7-xmlwriter php7-xmlreader php7-zmq && \sed -i '/user/s#nobody#www#g' /etc/php7/php-fpm.d/www.conf && \sed -i '/group/s#nobody#www#g' /etc/php7/php-fpm.d/www.conf && \sed -i '/\;slowlog/s#\;##g' /etc/php7/php-fpm.d/www.conf# 添加代码
COPY app /app
RUN  chown -R www.www /appRUN  apk add redis
COPY redis.conf /etc/WORKDIR /app
EXPOSE 80# 安装守护进程
RUN apk add supervisorCOPY supervisor.conf /etc/supervisor/
COPY supervisor.nginx.conf /etc/supervisor/conf.d/
COPY supervisor.phpfpm.conf /etc/supervisor/conf.d/
COPY supervisor.redis.conf /etc/supervisor/conf.d/CMD ["/usr/bin/supervisord", "-c", "/etc/supervisor/supervisor.conf"] 

supervisor

# supervisor.conf
[unix_http_server]          ; Web管理配置 
file=/run/supervisord.sock   ; socket文件路径[supervisord]
logfile=/tmp/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB        ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10           ; (num of main logfile rotation backups;default 10)
loglevel=info                ; (log level;default info; others: debug,warn,trace)
pidfile=/tmp/supervisord.pid ; (supervisord pidfile;default supervisord.pid)
nodaemon=true                ; (start in foreground if true;default false)
minfds=1024                  ; (min. avail startup file descriptors;default 1024)
minprocs=200                 ; (min. avail process descriptors;default 200)
user=root            ;; the below section must remain in the config file for RPC
; (supervisorctl/web interface) to work, additional interfaces may be
; added by defining them in separate rpcinterface: sections
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface[supervisorctl]
serverurl=unix:///dev/shm/supervisor.sock ; use a unix:// URL  for a unix socket[include]
files = /etc/supervisor/conf.d/*.conf# supervisor.nginx.conf
[program:nginx]
command=nginx -g "daemon off;"
autostart=true
autorestart=true
priority=10
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
stopsignal=QUIT# supervisor.phpfpm.conf
[program:php-fpm]
command = php-fpm7 --force-stderr --nodaemonize
autostart=true
autorestart=true
priority=5
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
stopsignal=QUIT# supervisor.redis.conf
[program:redis]
command=redis-server /etc/redis.conf
autostart=true
autorestart=true
priority=10
stdout_events_enabled=true
stderr_events_enabled=true
stdout_logfile=/dev/stdout
stdout_logfile_maxbytes=0
stderr_logfile=/dev/stderr
stderr_logfile_maxbytes=0
stopsignal=QUIT

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/936848.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2025 年最新推荐操作台厂家排行榜:覆盖指挥中心 / 控制室 / 中控室 / 监控室 / 调度室场景,为用户选购优质产品提供专业参考

当前,操作台作为指挥中心、监控室等核心场景的关键设备,其品质、功能性与适配性直接关系到工作效率与运行稳定性。然而,市场上操作台品牌数量繁多,产品质量参差不齐,部分产品存在工艺粗糙、不符合人体工学、定制服…

Ubuntu tightenVNC安装及配置

Ubuntu tightenVNC安装及配置安装tighenVNC sudo apt install xfce4-session xfce4-panel xfwm4 xfdesktop4配置xstartup vncserver -geomtery 1920x1080 #此命令生成vnc session chmod 755 ~/.vnc/xstartup执行完成后…

NVR设备ONVIF接入平台EasyCVR智慧小区视频监控系统建设方案

NVR设备ONVIF接入平台EasyCVR智慧小区视频监控系统建设方案一、方案背景 智慧小区构成了“平安城市”建设的基石。随着社会的进步,社区安全问题逐渐成为公众关注的热点。诸如高空抛物、乱丢垃圾、破坏车辆、入室盗窃等…

FPGA开发流程

Fpga开发流程可以分为编译,仿真验证,综合,实现,生成比特流文件。记忆这个流程,编译,仿真验证可以看做综合前。 编译这个阶段是将输入的.v文件编译生成中间文件供后续使用,这个阶段你可以验真写的verilog代码是否…

毕业论文技巧:Word中使用Mathtype对公式自动编号(带章节号)

参考:毕业论文技巧:Word中使用Mathtype对公式自动编号(带章节号)_mathtype自动编号按章节-CSDN博客 在毕业论文或者其他类似的长篇论著写作中,常需要根据章节号对公式进行依次编号,使用Mathtype即可做到。需要说…

试验2

试验1 源代码1 #include <stdio.h>2 #include <stdlib.h>3 #include <time.h>4 #define N 55 #define N1 806 #define N2 357 int main() {8 int cnt;9 int random_major, random_no; 10 sran…

浩辰CAD 2025 SP2安装包下载与安装教程

软件介绍 浩辰CAD 2025 SP2作为国产CAD软件的升级版本,延续了自主内核技术优势,在性能、功能及生态适配层面实现全面突破。该版本采用多核并行运算技术,开图速度提升30%,存图性能翻倍,复杂图纸操作流畅度较前代提…

高级程序语言设计第一次作业

这个作业属于 https://edu.cnblogs.com/campus/fzu/gjyycx 这个作业要求 https://edu.cnblogs.com/campus/fzu/gjyycx/homework 学号:102500319 姓名:刘江涵 1.安装过程及安装成功截图2.运行程序的代码和结果过程中未…

Java word文档中的图片抽离方法

Java word文档中的图片抽离方法Java word文档中的图片抽离方法package com.example.core.mydemo.aspose;import org.apache.poi.xwpf.usermodel.XWPFDocument; import org.apache.poi.xwpf.usermodel.XWPFPictureData;…

Kerberos认证(Elasticsearch)

一、Elasticsearch集成Kerberos认证效果图:可参考:elasticsearch添加kerberos认证完整操作流程

2025 年聚氨酯砂浆厂家最新推荐排行榜:聚焦欧洲技术与一站式服务的国内优质企业甄选指南水性聚氨酯砂浆/聚氨酯砂浆自流平厂家推荐

当前工业、食品、医药等领域对地坪材料的性能要求日益严苛,聚氨酯砂浆因耐磨、防腐、耐高低温等优势,成为众多企业的首选。但市场上厂家数量繁杂,产品质量与服务水平差异显著,部分厂家缺乏核心技术,产品难以满足行…

在Anolis OS 8.10 GA上安装和配置VNC系统

在Anolis OS 8.10 GA上安装和配置VNC系统 1、安装yum install tigervnc-server tigervnc-server-module -y 2、vncpasswd 设置VNC密码,回车后,Password为录入你要设置的密码,Verify为确认密码,Would you like to …

钩子(HOOK):改变系统行为的 “隐形抓手”

在编程的世界里,我们常常希望在不修改核心代码的情况下,为现有程序增加新功能、监控特定事件或改变其默认行为。这时,一个强大而精巧的概念——“HOOK”(钩子)便闪亮登场。它就像在软件执行的流水线上预设的“挂钩…

新装 CentOS 7 切换 yum 源完整指南 - 详解

新装 CentOS 7 切换 yum 源完整指南 - 详解pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "…

浅谈InheritableThreadLocal---可继承的小书包

在前文中我们讲过ThreadLocal,相当于是每个线程有一个小书包,线程之间的小书包是隔离的,只存放了属于当前线程自己的变量,因此不会发生数据安全的问题。 (前文博客浅谈ThreadLocal----每个线程一个小书包 https:…

如何理解面向对象?

“深刻理解 C++ 的面向对象思想”其实是从 程序设计思想 层面上,真正掌握 C++ 精髓的标志。很多人学 C++ 只停留在“语法层面”(class、public、private、继承、多态),但真正的理解在于为什么这样设计、要解决什么…

2025 年湖南单招培训学校最新推荐榜单:口碑实力机构排行榜,聚焦高升学率与优质服务的精准选校指南单招无忧题库/单招培训学校推荐

2025 年湖南省单招报考热度持续攀升,部分高校专业报录比已达 470%,但培训行业却陷入 “选择困境”:新机构扎堆涌现却缺乏成熟教学体系,部分机构课程与考纲脱节,依赖兼职教师导致服务断层,更有甚者虚构升学率误导…

2025-10-14 el.style.backGroundColor = #ccc !important样式不生效??==》改为添加类

业务中常见有js操作样式,当我想给元素加个背景颜色时是能生效的,但如果加上了权重!important反而不生效了, 原因是这不是有效的颜色值,你可以把el.style.backGroundColor = #ccc !important改为el.classList.add(h…

mns 1014

今天 Dr. William Wallace Wettle 高端局。 A 开局不会做。搞掉 B 之后发现可以维护可能的温度的区间,秒了。点击查看代码 #include <bits/stdc++.h> using namespace std;struct node {int t, l, r; }arr[1000…

牛客周赛113

(0条未读通知) 牛客竞赛_ACM/NOI/CSP/CCPC/ICPC算法编程高难度练习赛_牛客竞赛OJ E题 首先我们预处理每个数组从\(n\)个数中选择\(i\)个数,其和模495为\(j\)的方案数,可以使用三维\(dp[i][j][k]\)数组表示前\(i\)个数…