Web服务器群集:部署LNMP平台

这篇具有很好参考价值的文章主要介绍了Web服务器群集:部署LNMP平台。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、理论

1.LNMP平台

2.Nginx服务基础

3.Nginx访问控制

4.Nginx虚拟主机

5.PHP

二、实验

1.LNMP架构+DISCUZ论坛应用

三、问题

1.没有规则可以创建“default”需要的目标“build”。

         2.nginx重启报错

3.yum安装提示报错

4.配置文件报错

5.PHP页面无法打开

四、总结


一、理论

1.LNMP平台


(1)概念

LNMP平台是高效稳定的Web应用平台,LNMP架构结合了Linux操作系统的稳定性、Nginx服务器的高性能、MySQL数据库的可靠性和PHP语言的灵活性,被广泛应用于Web开发和部署。

(2)原理图
Web服务器群集:部署LNMP平台

(3)LNMP各组件主要作用

表1 LNMP各组件作用

组件 功能 作用
Linux LNMP架构的基础平台 作为LNMP架构的基础,提供用于支撑Web站点的操作系统,能够与其他三个组件提供更好的稳定性,兼容性(AMP组件也支持Windows、UNIX等平台) 。
Nginx LNMP架构的前台 作为LNMP架构的前端,是一个高性能、轻量级的HTTP和反向代理web服务器  ,稳定性高并且系统资源消耗低,对HTTP并发连接的处理能力高,单台物理服务器可支持30000-50000华人并发请求,同时也提供了IMAP/POP3/SMTP服务。
MySQL LNMP架构的后台 作为LNMP架构N的后端,是一款流行的开源关系数据库系统。在企业网站、业务系统等应用中,各种账户信息、产品信息,客户资料、业务数据等都可以存储到MySQL数据库,其他程序可以通过SQL语句来查询,更改这些信息。
PHP/Perl/Python LNMP架构的中间连接 作为三种开发动态网页的编程语言,负责解释动态网页文件,负责沟通Web服务器和数据库系统以协同工作,并提供Web应用程序的开发和运行环境。其中PHP是一种被广泛应用的开放源代码的多用途脚本语言,它可以嵌入到HTML中,尤其适合于Web应用开发。

(4)LNMP和LAMP的区别

表2 LNMP和LAMP的区别

功能 LNMP LAMP
使用的网站服务不同 Nginx Apache
PHP作用不同 在LAMP中PHP是当作Apache的一个模块来使用 LNMP中PHP是当作一个独立进程来使用的(即PHP_FPM)

Web服务器群集:部署LNMP平台

(5)单服务器中Nginx与PHP的工作原理

      ① FastCGI将Http Server和动态脚本语言分离开来

      ② Ngnix专门处理静态请求,转发动态请求

      ③ PHP/PHP_FPM专门解析Nginx转发过来的动态请求

(6)Nginx特点

表3 Nginx特点

序号 特点
1 高扩展性
2 高可靠性
3 低内存消耗
4 高并发
5 热部署
6 开源协议
7 异步架构的web服务器,也可以用作反向代理、负载均衡器和HTTP缓存。

(7)构建LNMP平台顺序

在构建LNMP平台时,各组件的安装顺序依次为:

表4 LNMP组件安装顺序

安装顺序 安装内容 组件环境
1 Linux系统
2 Nginx服务器 专门处理静态请求,转发动态请求给php-fpm处理
3 MySQL数据库
4 PHP环境 专门解析Nginx转发过来的动态请求

(7)FPM

FPM(Fast Process Manager,FastCGI 进程管理器),用于替换 PHP FastCGI 的大部分附加功能,对于高负载网站是非常有用的。它的功能包括:

表5 FPM功能

序号 功能
1 支持平滑停止/启动的高级进程管理功能
2 可以工作于不同的 uid/gid/chroot 环境下,并监听不同的端口和使用不同的 php.ini 配置文件(可取代 safe_mode 的设置)
3 stdout 和 stderr 日志记录
4 在发生意外情况的时候能够重新启动并缓存被破坏的 opcode
5 文件上传优化支持
6

"慢日志" - 记录脚本(不仅记录文件名,还记录 PHP backtrace 信息,可以使用 ptrace或者类似工具读取和分析远程进程的运行数据)运行所导致的异常缓慢

7 fastcgi_finish_request() - 特殊功能:用于在请求完成和刷新数据后,继续在后台执行耗时的工作(录入视频转换、统计处理等)
8 动态/静态子进程产生
9 基本 SAPI 运行状态信息(类似Apache的 mod_status)
10 基于 php.ini 的配置文件

2.Nginx服务基础

(1)Nginx概念

 Nginx(engine x) 是一个高性能的HTTP和反向代理web服务器  ,同时也提供了IMAP/POP3/SMTP服务。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。

Nginx架构:

Web服务器群集:部署LNMP平台

 

相对于传统基于进程或线程的模型(Apache就采用这种模型)在处理并发连接时会为每一个连接建立一个单独的进程或线程,且在网络或者输入/输出操作时阻塞。这将导致内存和 CPU 的大量消耗,因为新起一个单独的进程或线程需要准备新的运行时环境,包括堆和栈内存的分配,以及新的执行上下文,当然,这些也会导致多余的 CPU 开销。最终,会由于过多的上下文切换而导致服务器性能变差。

反过来,Nginx 的架构设计是采用模块化的、基于事件驱动、异步、单线程且非阻塞。

Nginx 大量使用多路复用和事件通知,Nginx 启动以后,会在系统中以 daemon 的方式在后台运行,其中包括一个 master 进程,n(n>=1) 个 worker 进程。所有的进程都是单线程(即只有一个主线程)的,且进程间通信主要使用共享内存的方式。

其中,master 进程用于接收来自外界的信号,并给 worker 进程发送信号,同时监控 worker 进程的工作状态。worker 进程则是外部请求真正的处理者,每个 worker 请求相互独立且平等的竞争来自客户端的请求。请求只能在一个 worker 进程中被处理,且一个 worker 进程只有一个主线程,所以同时只能处理一个请求。(原理同 Netty 很像)

(2)Nginx下载

官网地址:

nginx news

(3)Nginx工作模式

Nginx有两种工作模式:master-worker模式和单进程模式。在master-worker模式下,有一个master进程和至少一个的worker进程,单进程模式顾名思义只有一个进程。这两种模式有各自的特点和适用场景。

master-worker模式:

Web服务器群集:部署LNMP平台

 Web服务器群集:部署LNMP平台

单进程模式:

Web服务器群集:部署LNMP平台

 2种模式对比:

表6 Nginx工作模式

工作模式 功能 特点
master-worker模式 master-worker模式下nginx启动成功后,会有一个master进程和至少一个的worker进程,worker进程数量建议等于cpu总核心数。master进程负责处理系统信号,加载配置,管理worker进程(启动,杀死,监控,发送消息/信号等)。worker进程负责处理具体的业务逻辑,也就是说,对外部来说,真正提供服务的是worker进程。生产环境下一般使用这种模式。
 

优点:

稳定性高,只要还有worker进程存活,就能够提供服务,并且一个worker进程挂掉master进程会立即启动一个新的worker进程,保证worker进程数量不变,降低服务中断的概率;

配合linux的cpu亲和性配置,可以充分利用多核cpu的优势,提升性能;

处理信号/配置重新加载/升级时可以做到尽可能少或者不中断服务。
 

单进程模式 单进程模式下,nginx启动后只有一个进程,nginx的所有工作都由这个进程负责。因此,该模式一般只在开发阶段和调试时使用,生产环境下不会使用。

优点:

单进程模式由于只有一个进程,因此可以很方便地利用gdb等工具进行调试。

缺点:

单进程模式不支持nginx的平滑升级功能,任何的信号处理都可能造成服务中断,并且由于是单进程,进程挂掉后,在没有外部监控的情况下,无法重启服务。

(4)Nginx配置文件

表7 Nginx配置文件

文件/目录 功能
/usr/local/nginx/conf/nginx.conf 主配置文件
/usr/local/nginx/sbin/nginx 命令文件

(5)Nginx主配置文件

①查看配置文件

[root@localhost /]# find  /  -name nginx.conf  -type f
/etc/nginx/nginx.conf
/usr/local/nginx/conf/nginx.conf
/opt/nginx-1.12.2/conf/nginx.conf
/opt/nginx-1.22.0/conf/nginx.conf

②文件结构

nginx.conf一共由3部分组成:全局块、events块、http块。

Web服务器群集:部署LNMP平台

全局块:

全局块是默认配置文件从开始到events块之间的内容。

主要设置nginx整体运行的配置指令,这些指令的作用域是全局。

Web服务器群集:部署LNMP平台

全局块的常见配置指令:

$ vim  nginx.conf
user nginx nginx ;     # Nginx用户及组:用户 组
worker_processes 8;    # 工作进程数量(根据硬件调整,通常等于CPU数量或者2倍于CPU)
error_log  logs/error.log;       # 错误日志存放位置
error_log  logs/error.log  notice;
error_log  logs/error.log  info;
pid        logs/nginx.pid;     # nginx进程PID文件存放路径;
###全局块结束

ewents块:

ewents块的指令主要影响nginx服务器和用户的网络连接,对性能影响较大。

表8 ewents块配置

序号 配置项
1 是否开启对多worker process(工作进程)下的网络连接进行序列化;
2 是否允许同时接收多个网络连接;
3 选取哪种事件驱动模型处理连接请求;
4 每个work process可以同时支持的最大连接数等;
events {            # events块开始
    worker_connections  1024;  #每个工作进程的最大连接数量(根据硬件调整,和前面工作进程配合起来用,尽量大,但是别把cpu跑到100%就行。)
    use epoll;    # 使用epoll的I/O 模型。linux建议epoll,FreeBSD建议采用kqueue,window下不指定。
    accept_mutex on;   #开启网络连接的序列化(防止多个进程对连接的争抢)
    multi_accept  on;  #允许同时接收多个网络连接(默认关闭),工作进程都有能力同时接收多个新到达的网络连接
}  # events块结束

http块:

http块是nginx服务配置中的重要部分,代理、缓存、日志定义等很多的功能指令都可以放在http块中。

表9 http块配置

序号 配置项
1 文件引入;
2 MiME-Type定义;
3 自定义日志;
4 是否使用sendfile传输文件;
5 连接超时时间;
6 单请求上限等;
http {     # http块开始
    include       mime.types;   #定义MIME-Type(网络资源的媒体类型),nginx作为web服务器必须能够识别前端请求的资源类型。引用外部文件mime.types。
    default_type  application/octet-stream;  #配置用于处理前端请求的MIME类型(默认为text/plain)
    access_log  logs/access.log  main;  #配置服务日志的存放路径、日志格式、临时存放日志的内存缓存区大小;
    log_format  main  xxx;  #专门定义服务日志的格式;
    sendfile        on;  #允许sendfile方式传输文件,
    sendfile_max_chunk  xxx;   #每个工作进程调用sendfile()传输的数据量最大值(0为不限制)
    keepalive_timeout  65;  # 连接超时时间,与用户建立连接会话后nginx服务器保持会话的时间;
    gzip  on;   # 开启Gzip功能,对响应数据进行在线实时压缩;
    ...
}   # http块结束

server块:

http块可以有多个server块,每个server块都相当于一台虚拟主机,server块下又分为server全局块和location块。

server全局块:常见的配置指令是本虚拟主机的监听配置和本虚拟主机的名称或者IP配置。

location块:

表10 location块配置

序号 配置项
1 每个server块可以包含多个location块。
2 location块的主要作用是基于nginx服务器收到的请求字符串(如server_name/uri-string),对除虚拟主机名称外的字符串进行匹配,对特定的请求进行处理。
3 location块提供的功能包含地址定向、数据缓存、应答控制、第三方模块等。
server {    # server块开始
        keepalive_requests 100;   # 单连接请求上限,限制用户通过某一连接想服务端发送请求的次数
        listen       80;    # 设置网络监听(分3种监听方式:IP地址、端口、Socket)
        server_name  localhost;  #虚拟主机配置(基于主机名、基于IP、基于域名)
        location / {
            root   html;   #配置请求的根目录
            index  index.html index.htm;   #设置网站的默认首页
        }
        error_page   500 502 503 504  /50x.html;    # 设置网站的错误页面
        location = /50x.html {
            root   html;   
   }   # server块结束

(6)Nginx与Apache的区别

表11 Nginx与Apache区别

服务 Nginx Apache
对比 甚于事件的Web服务器 基于流程的服务器
避免子进程 基于子进程
在内存消耗和连接方面更好 在内存消耗和连接方面一般
性能和可伸缩性不依赖于硬件 依赖于CPU和内存等硬件
支持热部署 不支持热部署
对于静态文件处理具有更高效率 相对一般
在反向代理场景具有明显优势 相对一般
优点

轻量级,同样是 web 服务,比 Apache 占用更少的内存及资源 ;

高并发,Nginx 处理请求是异步非塞的,而 Apache 则是阻塞型的,在高并发下 Nginx 能保持低资源低消耗高性能;

高度模块化的设计,编写模块相对简单;

社区活跃,各种高性能模块出品迅速。

rewrite,比 Nginx 的 rewrite 强大;

模块超多,基本想到的都可以找到;

少 bug ,Nginx 的 bug相对较多;

超稳定

总结

要性能的 web 服务,用 Nginx ;

Nginx 处理动态请求是弱项;

Nginx 只适合静态和反向。

如果不需要性能只求稳定,那就Apache;

一般动态请求Apache 去做。

(6)Nginx应用场景

表12 Nginx应用场景

序号 场景
1 静态服务器 (图片、视频服务、文本)
2 动态服务
3 反向代理, 负载均衡
4 缓存服务

(7)同步与异步

同步指的是在发出一个功能调用时,在没有得到结果之前,该调用就不返回。也就是必须一件一件事做,等前一件做完了才能做下一件事。异步的概念和同步相对,当一个异步过程调用发出后,调用者不能立刻得到结果。实际处理这个调用的部件在完成后,通过状态、通知和回调来通知调用者。

Web服务器群集:部署LNMP平台

(8)阻塞与非阻塞

阻塞和非阻塞是进程在访问数据的时候,数据是否准备就绪的一种处理方式。当数据没有准备的时候,阻塞需要等待调用结果返回之前,进程会被挂起,函数只有在得到结果之后才会返回。非阻塞和阻塞的概念相对,指在不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。

Web服务器群集:部署LNMP平台

(9)通信机制与调用状态

表13 通信机制与调用状态

对比 通信机制
同步 异步
调用状态 阻塞 同步阻塞 异步阻塞
非阻塞 同步非阻塞 异步阻塞

(10)kill命令信号

表14 信号编号

信号编号 信号名 含义
0 EXIT 程序退出时收到该信息。
1 HUP 挂掉电话线或终端连接的挂起信号,这个信号也会造成某些进程在没有终止的情况下重新初始化
2 INT 表示结束进程,但并不是强制性的,常用的 "Ctrl+C" 组合键发出就是一个 kill -2 的信号
3 QUIT 退出
9 KILL 杀死进程,即强制结束进程
11 SEGV 段错误
15 TERM 正常结束进程,是 kill 命令的默认信号

3.Nginx访问控制

(1)访问状态统计配置

流程:

表15 Nginx访问状态统计

序号

操作 关键命令 文件
1 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块 /usr/local/nginx/sbin/nginx -V 
2 修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置 cd /usr/local/nginx/conf
cp nginx.conf nginx.conf.bak
vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 80;
        server_name www.kgc.com;
        charset utf-8;
        location / {
            root html;
            index index.html index.php;
        }
        ##添加 stub_status 配置##
        location /status {                     #访问位置为/status
            stub_status on;                 #打开状态统计功能
            access_log off;                 #关闭此位置的日志记录
        }
    }
}
 
3 重启服务 systemctl restart nginx
4 访问测试 http://192.168.204.200/status

①先使用命令/usr/local/nginx/sbin/nginx -V 查看已安装的 Nginx 是否包含 HTTP_STUB_STATUS 模块:

Web服务器群集:部署LNMP平台

 ②修改 nginx.conf 配置文件,指定访问位置并添加 stub_status 配置:

Web服务器群集:部署LNMP平台

编辑文件:

Web服务器群集:部署LNMP平台

修改配置

Web服务器群集:部署LNMP平台

 ③ 浏览器访问 http://192.168.204.200/status Active connections :表示当前的活动连接数; server accepts handled requests :表示已经处理的连接信息,三个数字依次表示已处理的连接数、成功的TCP握手次数、 已处理的请求数。

Web服务器群集:部署LNMP平台

刷新页面观察变化

Web服务器群集:部署LNMP平台

(2)基于授权的访问控制

流程:

表16 Nginx基于授权的访问控制

序号

操作 关键命令 文件
1 生成用户密码认证文件 yum install -y httpd-tools
htpasswd -c /usr/local/nginx/passwd.db zhangsan
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db
 
2 修改主配置文件相对应目录,添加认证配置项 vim /usr/local/nginx/conf/nginx.conf
......
    server {
        location / {
            ......
            ##添加认证配置##
            auth_basic "secret";
            auth_basic_user_file /usr/local/nginx/passwd.db;
        }
    }
 
3 语法验证 nginx -t
4 重启服务 systemctl restart nginx
5 浏览器访问  http://192.168.204.200

生成用户密码认证文件

yum install -y httpd-tools
htpasswd -c /usr/local/nginx/passwd.db 用户
chown nginx /usr/local/nginx/passwd.db
chmod 400 /usr/local/nginx/passwd.db

修改主配置文件相对应目录,添加认证配置项

vim /usr/local/nginx/conf/nginx.conf

① 安装软件

Web服务器群集:部署LNMP平台

② 生成用户密码认证文件

Web服务器群集:部署LNMP平台

③  修改主配置文件相对应目录,添加认证配置项

Web服务器群集:部署LNMP平台

④验证

Web服务器群集:部署LNMP平台

⑤ 重启服务

Web服务器群集:部署LNMP平台

⑥ 访问测试

Web服务器群集:部署LNMP平台

登录

Web服务器群集:部署LNMP平台

(3)基于客户端的访问控制

流程:

表17 Nginx基于客户端的访问控制

序号

操作 关键命令 文件
1 修改主配置文件相对应目录,添加访问控制规则

vim /usr/local/nginx/conf/nginx.conf
......
    server {
        location / {
            ......
            ##添加控制规则##
            deny 192.168.204.200;                     #拒绝访问的客户端 IP
            allow all;                                #允许其它IP客户端访问
        }
    }

systemctl restart nginx

访问控制规则如下:

deny IP/IP 段:拒绝某个 IP 或 IP 段的客户端访问。
allow IP/IP 段:允许某个 IP 或 IP 段的客户端访问。
规则从上往下执行,如匹配则停止,不再往下匹配。

修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

Web服务器群集:部署LNMP平台

主机192.168.204.150访问192.168.204.200

 Web服务器群集:部署LNMP平台

4.Nginx虚拟主机

(1)基于域名的虚拟主机

流程: 

表18 Nginx基于域名的虚拟主机

序号

操作 关键命令 文件
1 为虚拟主机提供域名解析 echo "192.168.204.200 www.david.com www.jjw.com" >> /etc/hosts
 
2 为虚拟主机准备网页文档 mkdir -p /var/www/html/david
mkdir -p /var/www/html/jjw
echo "<h1>www.david.com</h1>" > /var/www/html/david/index.html
echo "<h1>www.jjw.com</h1>" > /var/www/html/jjw/index.html
3 修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 80;
        server_name www.david.com;                    #设置域名www.david.com
        charset utf-8;
        access_log logs/www.david.access.log; 
        location / {
            root /var/www/html/david;                    #设置www.david.com 的工作目录
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
    
    server {
        listen 80;
        server_name www.jjw.com;                    #设置域名www.jjw.com
        charset utf-8;
        access_log logs/www.jjw.access.log; 
        location / {
            root /var/www/html/jjw;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }    
}

4 重启服务 systemctl restart nginx
5 浏览器访问 http://www.david.com
http://www.jjw.com

为虚拟主机提供域名解析Web服务器群集:部署LNMP平台

为虚拟主机准备网页文档

Web服务器群集:部署LNMP平台

修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

设置域名www.david.com

Web服务器群集:部署LNMP平台

 设置域名www.jjw.comWeb服务器群集:部署LNMP平台

重启服务

Web服务器群集:部署LNMP平台

测试

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

(2)基于IP的虚拟主机(不同IP相同端口)

流程:

表19 Nginx基于IP的虚拟主机

序号

操作 关键命令 文件
1 添加虚拟网卡 ifconfig ens33:0 192.168.204.200 netmask 255.255.255.0 
2 修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 192.168.204.200:80;                    #设置监听地址192.204.200.10
        server_name www.david.com;
        charset utf-8;
        access_log logs/www.david.access.log; 
        location / {
            root /var/www/html/david;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
    
    server {
        listen 192.168.204.12:80;                    #设置监听地址192.168.204.12
        server_name www.jjw.com;
        charset utf-8;
        access_log logs/www.jjw.access.log; 
        location / {
            root /var/www/html/jjw;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }    
}

3 重启服务
systemctl restart nginx
4 浏览器访问 http://192.168.204.200
http://192.168.204.12

添加虚拟网卡

ifconfig ens33:0 192.168.204.200 netmask 255.255.255.0 
vim /usr/local/nginx/conf/nginx.conf

设置域名www.david.comWeb服务器群集:部署LNMP平台

设置域名www.jjw.com

Web服务器群集:部署LNMP平台

 重启服务

Web服务器群集:部署LNMP平台

浏览器访问

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

(3)基于端口的虚拟主机(相同IP不同端口)

流程:

表20 Nginx基于端口的虚拟主机

序号

操作 关键命令 文件
1 修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf
......
http {
......
    server {
        listen 192.168.204.200:8080;                    #设置监听 8080 端口
        server_name www.david.com;
        charset utf-8;
        access_log logs/www.davd.access.log; 
        location / {
            root /var/www/html/david;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }
    
    server {
        listen 192.168.204.200:8888;                    #设置监听 8888 端口
        server_name www.jjw.com;
        charset utf-8;
        access_log logs/www.jjw.access.log; 
        location / {
            root /var/www/html/jjw;
            index index.html index.php;
        }
        error_page 500 502 503 504 /50x.html;
        location = 50x.html{
            root html;
        }
    }    
}

2 重启服务 systemctl restart nginx
3 浏览器访问 http://192.168.204.200:8080
http://192.168.204.200:8888
 

修改Nginx的配置文件

vim /usr/local/nginx/conf/nginx.conf

设置域名www.david.com

Web服务器群集:部署LNMP平台

 设置域名www.jjw.com

Web服务器群集:部署LNMP平台

 重启服务

Web服务器群集:部署LNMP平台

浏览器访问

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

5.PHP

(1)PHP配置文件

表21 PHP配置文件

文件/目录 功能
php 主配置文件
php.ini 进程服务配置文件
www.conf

扩展配置文件

二、实验

1.LNMP架构+DISCUZ论坛应用

(1)Nginx安装

①流程

表22 Nginx安装流程

序号

操作 关键命令 文件
1 下载Nginx相关安装包➝ 服务器 rz -E

nginx-1.12.2.tar

2 登录到服务器安装Nginx相关依赖包和函数库

yum -y install pcre-devel \

zlib-devel \

openssl \

openssl-devel \

gcc \

gcc-c++ \

make

gcc功能:预处理、编译、连接、汇编
openssl功能:用于网站加密通讯。
pcre功能:用于支持解析正则表达式。
zlib功能:用于对数据进行解压缩。网站之间通信时,数据先压缩再传输,通过消耗CPU的方式来节省网络带宽
3

创建程序用户管理➝

解压NginxL安装进行安装

useradd -M -s /sbin/nologin nginx

cd /opt
tar -zxvf nginx-1.12.2.tar.gz -C /opt/

4

编译安装➝切换到Nginx解包路径下➝

安装路径以及模块

cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module    
5 编译安装 make -j 16 && make install
6 Nginx服务 可执行程序文件存入路径环境变量的目录中便于系统识别软链接 ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/    
7 检查语法 nginx -t
8 启动服务 nginx
9 查看版本 nginx -V
10 检查Nginx监听端口 netstat -antp | grep nginx
lsof -i:80

关闭防火墙,将安装Nginx所需软件包传到/opt目录下

Web服务器群集:部署LNMP平台

②下载Nginx相关安装包➝ 服务器

Web服务器群集:部署LNMP平台

③创建程序用户管理➝解压Nginx安装进行安装

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

④创建运行用户、组

Web服务器群集:部署LNMP平台

⑤编译安装➝切换到Nginx解包路径下➝安装路径以及模块

Web服务器群集:部署LNMP平台

⑥编译安装Nginx 路径

Web服务器群集:部署LNMP平台Web服务器群集:部署LNMP平台

⑦编译安装

Web服务器群集:部署LNMP平台

⑧Nginx服务 可执行程序文件存入路径环境变量的目录中便于系统识别软链接

Web服务器群集:部署LNMP平台

⑨检查语法

Web服务器群集:部署LNMP平台

⑩查看版本

Web服务器群集:部署LNMP平台

(2)Nginx升级

新版本升级:

表23 Nginx升级流程

序号

操作 关键命令 文件
1 下载Nginx相关安装包➝ 服务器 rz -E

nginx-1.22.0.tar

2

解压NginxL安装进行安装

cd nginx-1.22.0
tar -zxvf nginx-1.22.0.tar.gz -C /opt/

3

编译安装➝切换到Nginx解包路径下➝

安装路径以及模块

./configure \
--prefix=/usr/local/nginx \      
--user=nginx \                  
--group=nginx \               
--with-http_stub_status_module \
--with-http_ssl_module
4 编译 make
5

备份➝

覆盖

mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx_old

cp objs/nginx /usr/local/nginx/sbin/nginx

6 查看版本 nginx -V

①下载Nginx相关安装包➝ 服务器

Web服务器群集:部署LNMP平台

②解压Nginx安装进行安装

tar -zxvf nginx-1.22.0.tar.gz -C /opt/

③编译安装➝切换到Nginx解包路径下➝安装路径以及模块

Web服务器群集:部署LNMP平台

完成

Web服务器群集:部署LNMP平台

④编译

Web服务器群集:部署LNMP平台

⑤备份

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑥备查看版本

Web服务器群集:部署LNMP平台

⑦监听接口

Web服务器群集:部署LNMP平台Web服务器群集:部署LNMP平台

(2)MySQL安装

流程:

表24 MySQL安装流程

序号

操作 关键命令 文件
1

下载MySQL相关安装包➝ 服务器

rz -E mysql-boost-5.7.20.tar.gz
2 登录到服务器安装MySQL相关依赖包和函数库 yum -y install \
ncurses \
ncurses-devel \
bison \
cmake

ncurses 是字符终端下图形互动功能的动态库;

ncurses-devel 是ncurses开发包;

bison 是语法分析器;

cmake 用来编译安装mysql

3

创建程序用户管理➝

解压MySQL安装进行安装

useradd -M -s /sbin/nologin  mysql

cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
 

4

编译安装➝切换到MySQL解包路径下➝

安装路径以及模块

cd /opt/mysql-5.7.20/


cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DSYSTEMD_PID_DIR=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8  \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_ARCHIVE_STORAGE_ENGINE=1 \
-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_BOOST=boost \
-DWITH_SYSTEMD=1

DCMAKE_INSTALL_PREFIX指定mysql的安装路径;

DMYSQL_UNIX_ADDR指定mysql进程监听套接字文件(数据库连接文件)的存储路径;

DSYSCONFDIR指定配置文件的存储路径;

DSYSTEMD_PID_DIR指定进程文件的存储路径;

DDEFAULT_CHARSET指定默认使用的字符集编码,如 utf8;

DDEFAULT_COLLATION指定默认使用的字符集校对规则;

DWITH_EXTRA_CHARSETSDWITH_INNOBASE_STORAGE_ENGINE指定支持其他字符集编码;

DWITH_INNOBASE_STORAGE_ENGINE安装INNOBASE存储引擎;

DWITH_ARCHIVE_STORAGE_ENGINE安装ARCHIVE存储引擎;

DWITH_BLACKHOLE_STORAGE_ENGINE安装BLACKHOLE存储引擎 ;

DWITH_PERFSCHEMA_STORAGE_ENGINE安装FEDERATED存储引擎 ;

DMYSQL_DATADIR指定数据库文件的存储路径;

DWITH_BOOST指定boost的路径,若使用mysql-boost集成包安装则-DWITH_BOOST=boost;

DWITH_SYSTEMD生成便于systemctl管理的文件;

5 编译安装 make -j 16 && make install-j 16 && make installmake -j 16 && make install
6 更改管理主/组  

chown -R mysql:mysql /usr/local/mysql/
chown mysql:mysql /etc/my.cnf

7 配置MySQL文件➝my.cnf

vim /etc/my.cnf
[client]
port = 3306
socket=/usr/local/mysql/mysql.sock

[mysqld]
user = mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
port = 3306
character-set-server=utf8
pid-file = /usr/local/mysql/mysqld.pid
socket=/usr/local/mysql/mysql.sock
bind-address = 0.0.0.0
skip-name-resolve
max_connections=2048
default-storage-engine=INNODB
max_allowed_packet=16M
server-id = 1

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_AUTO_VALUE_ON_ZERO,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,PIPES_AS_CONCAT,ANSI_QUOTES

8 设置环境变量,申明/宣告MySQL 命令便于系统识别 echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
source /etc/profile
9 初始化数据库 cd /usr/local/mysql/bin/
./mysqld \
--initialize-insecure \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
 
10

为了启动服务方便,MySQL 启动服务加入到systemd系统管理➝

可使用service或systemctl进行管理

cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl daemon-reload
systemctl start mysqld.service
systemctl enable mysqld
 
11 修改mysql 的登录密码 mysqladmin -u root -p password "abc123"
 
12 授权远程登录 mysql -u root -p
 

①下载MySQL相关安装包➝ 服务器

Web服务器群集:部署LNMP平台

②安装Mysql环境依赖包

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

③创建程序用户管理➝解压MySQL安装进行安装

Web服务器群集:部署LNMP平台

tar -zxvf mysql-boost-5.7.20.tar.gz -C /opt

Web服务器群集:部署LNMP平台

④编译安装➝切换到MySQL解包路径下➝安装路径以及模块

Web服务器群集:部署LNMP平台

cmake \

-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \

-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \

-DSYSCONFDIR=/etc \

-DSYSTEMD_PID_DIR=/usr/local/mysql \

-DDEFAULT_CHARSET=utf8  \

-DDEFAULT_COLLATION=utf8_general_ci \

-DWITH_EXTRA_CHARSETS=all \

-DWITH_INNOBASE_STORAGE_ENGINE=1 \

-DWITH_ARCHIVE_STORAGE_ENGINE=1 \

-DWITH_BLACKHOLE_STORAGE_ENGINE=1 \

-DWITH_PERFSCHEMA_STORAGE_ENGINE=1 \

-DMYSQL_DATADIR=/usr/local/mysql/data \

-DWITH_BOOST=boost \

-DWITH_SYSTEMD=1

Web服务器群集:部署LNMP平台

⑤ 编译安装

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑥配置MySQL文件➝my.cnf

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑦ 更改管理主/组

Web服务器群集:部署LNMP平台

⑧ 设置环境变量,申明/宣告MySQL 命令便于系统识别

Web服务器群集:部署LNMP平台

⑨初始化数据库

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑩为了启动服务方便,MySQL 启动服务加入到systemd系统管理➝可使用service或systemctl进行管理

Web服务器群集:部署LNMP平台

⑪修改mysql 的登录密码

Web服务器群集:部署LNMP平台

⑫ 授权远程登录

mysql -u root -p

(3)PHP安装

流程:

表25 PHP安装流程

序号

操作 关键命令 文件
1

下载PHP相关安装包➝ 服务器

rz -E php-7.1.10.tar.bz2
2 登录到服务器安装PHP相关依赖包和函数库 yum -y install gd \
libjpeg libjpeg-devel \
libpng libpng-devel \
freetype freetype-devel \
libxml2 libxml2-devel \
zlib zlib-devel \
curl curl-devel \
openssl openssl-devel
 
安装GD库和GD库关联程序,用来处理和生成图片
3 解压PHP安装进行安装 cd /opt
tar jxvf php-7.1.10.tar.bz2
4

编译安装➝切换到PHP解包路径下➝

安装路径以及模块

cd php-7.1.10


./configure \
--prefix=/usr/local/php \
--with-mysql-sock=/usr/local/mysql/mysql.sock \
--with-mysqli \
--with-zlib \
--with-curl \
--with-gd \
--with-jpeg-dir \
--with-png-dir \
--with-freetype-dir \
--with-openssl \
--enable-fpm \
--enable-mbstring \
--enable-xml \
--enable-session \
--enable-ftp \
--enable-pdo \
--enable-tokenizer \
--enable-zip

5 编译安装 make -j 16 && make install
6 优化php可执行程序文件存入路径环境变量的目录中便于系统识别软链接 ln -s /usr/local/php/bin/* /usr/local/bin/
ln -s /usr/local/php/sbin/* /usr/local/sbin/
 
7

调整主配置文件➝

php.ini

cp /opt/php-7.1.10/php.ini-development /usr/local/php/lib/php.ini    
vim /usr/local/php/lib/php.ini
 
--1170行--修改
mysqli.default_socket = /usr/local/mysql/mysql.sock
--939行--取消注释,修改
date.timezone = Asia/Shanghai
8 验证安装的模块 php -m     
9 调整进程服务配置文件

php-fpm.conf

cd /usr/local/php/etc/
cp  php-fpm.conf.default php-fpm.conf
vim php-fpm.conf
--17行--去掉";"注释
pid = run/php-fpm.pid
10 调整扩展配置文件

www.conf

cd /usr/local/php/etc/php-fpm.d/
cp www.conf.default www.conf
 
11 启动php-fpm

/usr/local/php/sbin/php-fpm -c /usr/local/php/lib/php.ini
netstat -anpt | grep 9000

cd /opt/php-7.1.10/sapi/fpm
cp php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl restart php-fpm.service
 

12

配置 Nginx 支持 PHP 解析➝

nginx.conf

vim /usr/local/nginx/conf/nginx.conf --65行--取消注释,修改
location ~ \.php$ {
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  /usr/local/nginx/html$fastcgi_script_name;    #将 /scripts 修改为nginx的工作目录
   #fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;  #$document_root 代表当前请求在root指令中指定的值
    include        fastcgi_params;
}
 
13 启动服务 systemctl restart nginx.service
 
14 测试网页 vim /usr/local/nginx/html/index.php
<?php
phpinfo();
?>
 
15 浏览器访问 http://192.168.204.200/index.php
16 验证数据库工作是否正常➝新建数据库及用户➝替换原来的测试页内容

mysql -u root -p
CREATE DATABASE bbs;
GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';
GRANT all ON bbs.* TO 'bbsuser'@'localhost' IDENTIFIED BY 'admin123';
flush privileges;
 

vim /usr/local/nginx/html/index.php           
<?php
$link=mysqli_connect('192.168.204.200','bbsuser','admin123');
if($link) echo "<h1>Success!!</h1>";
else echo "Fail!!";
?>
 

17 浏览器访问 http://192.168.204.200/index.php

①下载PHP相关安装包➝ 服务器安装环境依赖包

Web服务器群集:部署LNMP平台

②登录到服务器安装PHP相关依赖包和函数库

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

③解压PHP安装进行安装

cd /opt
tar -jxvf php-7.1.10.tar.bz2 -C /opt

④编译安装➝切换到PHP解包路径下➝安装路径以及模块

./configure \

--prefix=/usr/local/php \

--with-mysql-sock=/usr/local/mysql/mysql.sock \

--with-mysqli \

--with-zlib \

--with-curl \

--with-gd \

--with-jpeg-dir \

--with-png-dir \

--with-freetype-dir \

--with-openssl \

--enable-fpm \

--enable-mbstring \

--enable-xml \

--enable-session \

--enable-ftp \

--enable-pdo \

--enable-tokenizer \

--enable-zip

Web服务器群集:部署LNMP平台

完成

Web服务器群集:部署LNMP平台

⑤编译安装

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑥优化php可执行程序文件存入路径环境变量的目录中便于系统识别软链接

Web服务器群集:部署LNMP平台

⑦调整主配置文件➝php.ini

Web服务器群集:部署LNMP平台Web服务器群集:部署LNMP平台

--1170行--修改

Web服务器群集:部署LNMP平台

--939行--取消注释,修改

Web服务器群集:部署LNMP平台

⑧验证安装的模块

Web服务器群集:部署LNMP平台

⑨调整进程服务配置文件:

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑩调整扩展配置文件:

Web服务器群集:部署LNMP平台

⑪启动php-fpm

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台


⑫配置 Nginx 支持 PHP 解析➝nginx.conf

Web服务器群集:部署LNMP平台

--65行--取消注释,修改

Web服务器群集:部署LNMP平台

⑬启动服务

Web服务器群集:部署LNMP平台

⑭验证PHP 测试页

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑮浏览器访问

http://192.168.204.200/index.php

Web服务器群集:部署LNMP平台

⑯验证数据库工作是否正常➝新建数据库及用户➝替换原来的测试页内容

Web服务器群集:部署LNMP平台

编辑              

Web服务器群集:部署LNMP平台

⑰ 替换原来的测试页内容

Web服务器群集:部署LNMP平台

⑱浏览器访问

http://192.168.204.200/index.php

Web服务器群集:部署LNMP平台

(4)论坛安装

流程:

表26 DISCUZ安装流程

序号

操作 关键命令 文件
1 创建一个数据库

mysql -u root -p 

mysql> CREATE DATABASE bbs;

mysql> GRANT all ON bbs.* TO 'bbsuser'@'%' IDENTIFIED BY 'admin123';

mysql>flush privileges; 

把bbs数据库里面所有表的权限授予给bbsuser,并设置密码;

刷新数据库;

2

下载

 DISCUZ相关安装包➝ 服务器

rz -E Discuz_X3.4_SC_UTF8.zip
3

解压

 DISCUZ安装进行安装

unzip Discuz_X3.4_SC_UTF8.zip -d /opt/dis
4 上传站点更新包

cd /opt/dis

cp -r upload/ /usr/local/httpd/htdocs/bbs

5 更改管理主/组

cd /usr/local/httpd/htdocs/bbs

chown 777 daemon ./config
chown 777 daemon ./data
chown 777 daemon ./uc_client
chown -R daemon ./uc_server/data

6 准备数据库配置

数据库服务器: localhost 
数据库名字: bbs
数据库用户名: bbsuser
数据库密码: admin123
管理员账号: admin
管理员密码: admin123

本地架设就用localhost,如何不是在在本机上就要填写IP地址和端口号
7 访问论坛 http://192.168.204.200/bbs/install/index.php

①创建一个数据库

Web服务器群集:部署LNMP平台

②下载DISCUZ相关安装包➝ 服务器

Web服务器群集:部署LNMP平台

③解压 DISCUZ安装进行安装

Web服务器群集:部署LNMP平台

④上传站点更新包

Web服务器群集:部署LNMP平台

⑤更改管理主/组

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

⑥准备数据库配置

数据库服务器: localhost  
数据库名字: bbs
数据库用户名: bbsuser
数据库密码: admin123
管理员账号: admin
管理员密码: admin123

⑦访问论坛

安装向导-同意

Web服务器群集:部署LNMP平台

安装向导-开始安装

Web服务器群集:部署LNMP平台

安装向导-设置运行环境

Web服务器群集:部署LNMP平台

安装向导-安装数据库

Web服务器群集:部署LNMP平台

 安装向导-完成

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

进入论坛,登录管理员用户

Web服务器群集:部署LNMP平台

(5)fpm参数优化

vim /usr/local/php/etc/php-fpm.conf

pid = run/php-fpm.pid

Web服务器群集:部署LNMP平台

fpm进程启动方式,动态的

Web服务器群集:部署LNMP平台

fpm进程启动的最大进程数

Web服务器群集:部署LNMP平台

动态方式下启动时默认开启的进程数,在最小和最大之间

Web服务器群集:部署LNMP平台

动态方式下最小空闲进程数

Web服务器群集:部署LNMP平台

动态方式下最大空闲进程数

Web服务器群集:部署LNMP平台

重启php-fpm 并监听端口

Web服务器群集:部署LNMP平台

三、问题

1.没有规则可以创建“default”需要的目标“build”。

原因分析:缺依赖安装包

Web服务器群集:部署LNMP平台

 解决方法:

安装Nginx所需的依赖安装包:

gcc功能:预处理、编译、连接、汇编
openssl功能:用于网站加密通讯。
pcre功能:用于支持解析正则表达式。
zlib功能:用于对数据进行解压缩。网站之间通信时,数据先压缩再传输,通过消耗CPU的方式来节省网络带宽

yum -y install pcre-devel zlib-devel openssl openssl-devel gcc gcc-c++ make

2.nginx重启报错

问题环境:

软件

版本
Centos 7
nginx 1.22.0

​systemctl restart nginx 重启报错

Web服务器群集:部署LNMP平台

原因分析:

查看​/lib/systemd/system/nginx.service​​的内容,里面是​​kill​​​了服务,但是实际会导致​​pid​​文件被删除,但是服务还存留,所以重启失败。

ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

解决方法:

(1)最快的方式是停掉nginx服务,然后启动nginx。

ps -ef|grep nginx|grep -v grep|awk '{print $2}'|xargs kill -9  /usr/local/nginx/sbin/nginx

(2)修改​​/lib/systemd/system/nginx.service​​​的内容,调整​​ExecReload​​​和​​ExecStop​​,调整后内容如下:

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

(3)然后重新加载​​systemd​​

systemctl daemon-reload

(4)启动成功

Web服务器群集:部署LNMP平台

3.yum安装提示报错

问题环境:

软件

版本
Centos 7
yum

原因分析:

“Another app is currently holding the yum lock; waiting for it to exit...”报错:

有一个应用程序正在锁定yum,等待退出

 解决方法:

(1)杀掉这个应用程序

Web服务器群集:部署LNMP平台

kill -s 9 13806

 (2)制关掉yum进程,并重新运行yum

 然后重新运行yum命令即可

4.配置文件报错

问题环境:

软件

版本
Centos 7
nginx 1.22.0

(1)原因分析:

nginx: [emerg] unexpected "}" in /usr/local/nginx/conf/nginx.conf:53

53行 “}”附近有语法错误,缺少分号“;”

Web服务器群集:部署LNMP平台

 解决方法:

修改配置文件

Web服务器群集:部署LNMP平台

(2)原因分析:

nginx: [emerg] "server" directive is not allowed here in /usr/local/nginx/conf/nginx.conf:130

130行sever块不允许放置在这

Web服务器群集:部署LNMP平台

 解决方法:

sever块放置在http块内

Web服务器群集:部署LNMP平台

(3) 原因分析:

nginx: [emerg] bind() to 192.168.204.100:80 failed (99: Cannot assign requested address)

不能解析地址

Web服务器群集:部署LNMP平台

Web服务器群集:部署LNMP平台

 解决方法:

修改地址

 Web服务器群集:部署LNMP平台

5.PHP页面无法打开

(1)原因分析:

 Nginx 配置文件未支持 PHP 解析

Web服务器群集:部署LNMP平台

vim /usr/local/nginx/conf/nginx.conf

(2)解决方法:

将 /scripts 修改为nginx的工作目录

Web服务器群集:部署LNMP平台

 Web服务器群集:部署LNMP平台

四、总结

LNMP平台是高效稳定的Web应用平台,LNMP架构结合了Linux操作系统的稳定性、Nginx服务器的高性能、MySQL数据库的可靠性和PHP语言的灵活性,被广泛应用于Web开发和部署。

Web服务器需要性能的用 Nginx ,不需要性能只求稳定用Apache。Nginx 处理动态请求是弱项,一般动态请求要 Apache 去做,Nginx 只适合静态和反向。文章来源地址https://www.toymoban.com/news/detail-501748.html

到了这里,关于Web服务器群集:部署LNMP平台的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 服务器与网站部署知识体系目录

    服务器全套基础知识:包含基本概念,作用,服务器选择,服务器管理等 域名相关基础知识普及 域名备案流程(个人备案,腾讯云 / 阿里云) 将网站域名访问从http升级到https(腾讯云/阿里云) docsify快速部署搭建个人知识库(支持本地、服务器、虚拟机运行) halo搭建炫酷

    2024年02月08日
    浏览(43)
  • Linux -- Web服务器 快速搭建静态网站,替换默认网页目录

    先简单写个 页面          我们给网页写了一行内容 作为 静态网页的内容 ( 当然了,写的相当简单,您先理解着看)         可以看到的是,我们将内容 定向到了一个文件里,         这个文件的路径 (  /var/www/html  )熟悉不熟悉???         ===            

    2023年04月19日
    浏览(60)
  • java-----web项目部署到新服务器以及服务器的部署

    目录 一、服务器安装jdk1.8  二、安装mysql5.7 2.1下载mysql  2.2修改root账号密码 2.3设置远程登录 三、项目的部署 3.1导入数据库 3.2将项目打成jar包 3.3项目上传 服务器部署项目的方式,本次以打成jar包的形式讲解(以springboot项目为例) 首先服务器要有jdk1.8和mysql5.6及以上的版本

    2024年02月06日
    浏览(50)
  • 【Web服务器】Tomcat的部署

       Tomcat 是 Java 语言开发的,Tomcat 服务器是一个免费的开放源代码的 wab应用服务器 ,是 Apache软件基金会的 Jakarta项目中的一个核心项目,由 Apache 、Sun 和其他一些公司及个人共同开发而成。    Tomcat属于轻量级应用服务器 ,在中小型系统和并发访问用户不是很多的场合

    2024年02月11日
    浏览(41)
  • 服务器之LNMP

    L:linux系统,操作系统。 N:nginx网站服务,前端,提供前端的静态页面服务。同时具有代理,转发的作用。 转发:主要是转发后端请求。转发到PHP。nginx没有处理动态资源的功能,他有可以支持转发动态请求的模块。 M:mysgl关系型数据库,保存用户账户密P:PHP动态页面的编程语言

    2024年02月14日
    浏览(40)
  • 使用Nginx反向代理,将React项目打包后部署到服务器的二级子目录

    我们上线一个项目的时候如果服务器上只有这一个项目的话可以直接将打包后的代码部署到服务器指定的根目录,然后直接上线看就可以看到,不用配置其他项。 但是,如果服务器有多个项目的话,我们就需要将代码部署到服务器根目录里边的子目录了,而放到子目录的话,

    2024年03月26日
    浏览(56)
  • 搭建第一个Web服务器(在eclipse或idea上部署Tomcat服务器)

    💻博主现有专栏:                 C51单片机(STC89C516),c语言,c++,离散数学,算法设计与分析,数据结构,Python,Java基础,MySQL,linux,基于HTML5的网页设计及应用,Rust(官方文档重点总结),jQuery,前端vue.js,Javaweb开发,Python机器学习等 🥏主页链接:     

    2024年04月12日
    浏览(47)
  • iis之web服务器搭建、部署(详细)~千锋

    目录 Web服务器 部署web服务器 实验一 发布一个静态网站   实验二  一台服务器同时发布多个web站点 网站类型 也叫网页服务或HTTP服务器 web服务器使用的协议是HTTP HTTP协议端口号:TCP 80、HTTPS协议端口号:TCP 443 Web服务器发布软件: 微软:IIS(可以发布web网站和FTP站点) Linux:

    2024年02月10日
    浏览(53)
  • 使用Docker在Linux服务器本地部署PaddleSpeech Web服务

    1. 从官方Docker Hub拉取环境 2. 启动容器并分派端口 3. 自然语言处理工具库NLTK安装 方法一:使用 nltk 自带的 download() 下载,由于国内网络问题,大概率失败。 方法二:从下载文件手动安装包。 链接:https://pan.baidu.com/s/1nQveCEAucFSNbuOAsrs6yw?pwd=yydh 提取码:yydh 从百度网盘下载nlt

    2024年01月20日
    浏览(51)
  • 部署Git版本控制系统 | 优化Web服务器

    前序文章: https://blog.csdn.net/shengweiit/article/details/135193074 部署git版本控制系统,管理网站代码 基于ssh协议的服务器 基于git协议的服务器 基于HTTP协议的服务器 上传代码到版本库 1. 安装软件包,创建空仓库

    2024年02月04日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包