在腾讯云服务器上搭建 Nginx 静态网站的详细步骤
nginx的工作流程
Nginx的工作流程大致如下:
1. NGX_HTTP_REWRITE阶段:在请求到达Nginx服务器时,首先会进入此阶段。
此阶段主要负责查找location块,并修改URI。
2. NGX_HTTP_LOC_REWRITE阶段:在找到location块后,Nginx会进入此阶段,执行location级别的URI重写指令。
3. NGX_HTTP_ACCESS阶段:在此阶段,Nginx会进行访问权限控制,例如限制访问频率、连接数等。
4. NGX_HTTP_POST_ACCESS阶段:在访问权限控制之后,Nginx 会进入此阶段。
根据权限控制阶段的执行结果,此阶段会进行相应的处理,并向用户发送拒绝服务的错误码。
5. NGX_HTTP_TRY_FILES阶段:如果配置了try_files指令,Nginx会进入此阶段,尝试查找并返回静态资源。
6. NGX_HTTP_CONTENT阶段:在上述所有阶段完成后,Nginx会进入此阶段,处理HTTP请求的内容。
在此阶段,大部分HTTP模块会生成相应的内容,并将其发送到客户端。
以上信息仅供参考,具体流程可能因不同版本的Nginx有所不同,如有需要请查询专业文档。
nginx 的工作流程
nginx 的工作流程nginx是一款高性能的Web服务器和反向代理服务器,其工作流程可以概括为请求处理、配置解析和响应返回三个主要步骤。
一、请求处理当nginx接收到客户端发送的请求时,首先会进行请求的解析和处理。
这个过程包括以下几个步骤:1. 连接建立:nginx会与客户端建立TCP连接,通过监听指定的端口来接收客户端的请求。
2. 接收请求头:nginx会接收并解析客户端发送过来的请求头部信息,包括请求方法、请求URI、协议版本等。
3. URI解析:nginx会解析请求URI,判断请求的资源是静态文件还是动态页面,以便后续做出不同的处理。
4. 请求转发:根据配置文件中的规则,nginx会将请求转发给相应的后端服务器进行处理。
如果是静态文件,nginx会直接返回文件内容;如果是动态页面,nginx会将请求转发给后端的应用服务器。
二、配置解析nginx的配置文件是其工作的重要组成部分,通过配置文件可以实现对服务器的灵活控制。
配置解析的过程如下:1. 读取配置文件:nginx会读取指定的配置文件,通常是nginx.conf。
2. 配置项解析:nginx会解析配置文件中的各个配置项,包括全局配置项和各个虚拟主机的配置项。
3. 配置检查:nginx会检查配置文件的语法和逻辑错误,如果有错误会提示并拒绝启动。
4. 配置生效:配置文件解析完成后,nginx会根据配置项的设置来决定如何处理请求,包括监听端口、代理规则、缓存设置等。
三、响应返回当nginx接收到后端服务器处理完的响应后,会将响应返回给客户端。
这个过程包括以下几个步骤:1. 接收响应:nginx会从后端服务器接收到处理完的响应,包括响应头和响应体。
2. 响应处理:nginx会对响应进行处理,包括对响应头进行解析和处理,判断是否需要进行压缩、缓存等操作。
3. 响应返回:nginx会将处理完的响应返回给客户端,包括响应头和响应体。
如果是静态文件,nginx会直接返回文件内容;如果是动态页面,nginx会将响应返回给客户端。
nginx详细配置
nginx详细配置Nginx内容概览1、nginx简介(1)介绍 nginx的应⽤场景和具体可以做什么事情(2)介绍什么是反向代理(3)介绍什么是负载均衡(4)介绍什么是动静分离2、nginx安装(1)介绍 nginx在 linux系统中如何进⾏安装3、nginx常⽤的命令和配置⽂件(1)介绍 nginx启动、关闭、重新加载命令(2)介绍 nginx的配置⽂件4、nginx配置实例-反向代理5、nginx配置实例-负载均衡6、nginx配置实例-动静分离7、nginx原理与优化参数配置8、搭建 nginx⾼可⽤集群(1)搭建 nginx⾼可⽤集群(主从模式)(2)搭建 nginx⾼可⽤集群(双主模式)第 1 章 Nginx 简介1.1 Nginx 概述Nginx ("engine x") 是⼀个⾼性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能⼒强,事实上 nginx的并发能⼒确实在同类型的⽹页服务器中表现较好,中国⼤陆使⽤ nginx⽹站⽤户有:百度、京东、新浪、⽹易、腾讯、淘宝等1.2 Nginx 作为 web 服务器Nginx 可以作为静态页⾯的 web 服务器,同时还⽀持 CGI 协议的动态语⾔,⽐如 perl、php等。
但是不⽀持 java。
Java程序只能通过与tomcat配合完成。
Nginx专为性能优化⽽开发,性能是其最重要的考量,实现上⾮常注重效率,能经受⾼负载的考验,有报告表明能⽀持⾼达50,000个并发连接数。
1.3 正向代理Nginx 不仅可以做反向代理,实现负载均衡。
还能⽤作正向代理来进⾏上⽹等功能。
正向代理:如果把局域⽹外的 Internet 想象成⼀个巨⼤的资源库,则局域⽹中的客户端要访问Internet,则需要通过代理服务器来访问,这种代理服务就称为正向代理。
1.4 反向代理反向代理,其实客户端对代理是⽆感知的,因为客户端不需要任何配置就可以访问,我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择⽬标服务器获取数据后,在返回给客户端,此时反向代理服务器和⽬标服务器对外就是⼀个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP地址。
nginx安装、启动、重启、关闭(linux系统命令行)
nginx安装、启动、重启、关闭(linux系统命令⾏)前⾔: 最近在部署我的hexo静态博客到腾讯云服务器上,⽤到了很多nginx的知识,在此做下总结:刚接触的linux服务器上,nginx配置乱的有点令⼈发指,就把⽼的卸载了重新装⼀下。
1、卸载yum remove nginx2、安装yum install -y nginx3、判断配置⽂件是否正确nginx -t -c /usr/local/nginx/conf/nginx.conf或者cd /usr/local/nginx/sbin./nginx -t---> successful 说明配置⽂件正确4、启动cd usr/local/nginx/sbin./nginx----> nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use) 已启动5、重启更改配置重启nginxps -ef | grep nginx #查询nginx主进程号----> root 2255kill -HUP 2255 #主进程号或进程号⽂件路径重启成功(亲测有效)或者使⽤cd /usr/local/nginx/sbin./nginx -s reload三、关闭 查询nginx主进程号 ps -ef | grep nginx 从容停⽌ kill -QUIT 主进程号 快速停⽌ kill -TERM 主进程号 强制停⽌ kill -9 nginx 若nginx.conf配置了pid⽂件路径,如果没有,则在logs⽬录下 kill -信号类型 '/usr/local/nginx/logs/nginx.pid'四、升级 1、先⽤新程序替换旧程序⽂件 2、kill -USR2 旧版程序的主进程号或者进程⽂件名 此时旧的nginx主进程会把⾃⼰的进程⽂件改名为.oldbin,然后执⾏新版nginx,此时新旧版本同时运⾏ 3、kill -WINCH 旧版本主进程号 4、不重载配置启动新/旧⼯作进程 kill -HUP 旧/新版本主进程号 从容关闭旧/新进程 kill -QUIT 旧/新进程号 快速关闭旧/新进程 kill -TERM 旧/新进程号。
nginx 反向代理 修改静态资源路径的方法
nginx 反向代理修改静态资源路径的方法
在使用Nginx反向代理时,有时我们需要修改静态资源路径以确保请求可以正确地转发到后端服务器。
下面是一种方法,可以帮助您实现这一需求。
首先,打开您的Nginx配置文件。
默认情况下,这个文件通常位于
/etc/nginx/nginx.conf。
找到您要修改的虚拟主机或服务器块的配置段。
在该配置段中,添加以下代理配置指令:
```
location /静态资源路径 {
proxy_pass http://后端服务器地址;
}
```
请替换上面的"/静态资源路径"为您想要修改的静态资源路径,例如:'/static'。
将"http://后端服务器地址"替换为实际的后端服务器地址。
接下来,保存您的配置文件,并重启Nginx服务以使更改生效。
您可以使用以下命令重启Nginx:
```
sudo systemctl restart nginx
```
现在,Nginx将会接收到所有匹配"/静态资源路径"的请求,并将它们转发到后端服务器。
需要注意的是,以上只是一种方法,您可以根据您的实际需求进行修改。
变更后应确保您的配置没有语法错误,否则Nginx可能无法启动。
希望以上内容能够帮助您成功修改Nginx反向代理中的静态资源路径。
如果您有任何进一步的问题,请随时提问。
nginx搭建基于python的web环境的实现步骤
nginx搭建基于python的web环境的实现步骤前⾔:在搭建开始前,我们先来梳理下web服务⼯作流程,先看下图:1、⽤户(PC)向web服务器发起http请求2、web服务器判断⽤户请求⽂件是否为静态⽂件,是则直接读取静态⽂件并返回给⽤户,不是则通过WSGI协议将请求丢给web框架(django)代码处理3、看web框架是否启动django中间件,如果启⽤,则依据中间件对请求进⾏修改,如果不启⽤,则进⼊下⼀步4、web框架中的路由程序将根据请求中的url⽂件名将请求路由⾄相应py⽂件5、相应py⽂件收到请求后根据⽤户提交的参数进⾏计算(期间可能会调⽤数据库),然后返回计算后的结果和⾃定义头部信息以及状态码返回6、web框架将返回的数据打上通⽤标识符(头部信息)后返回给web服务器7、web服务器打上web服务器的通⽤标识符(头部信息)后返回给⽤户8、⽤户收到返回的数据通过上⾯可以看到django框架基于WSGI协议和web服务器进⾏交互,那么WSGI协议⼜是什么呢?咱们⽤代码来说明(伪代码。
写⼀个简易的遵循WSGI协议的web服务器软件和django程序):WSGI服务器的程序:class WSGI_WEB(object):def __init__(self):# 1. 创建套接字self.tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)self.tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)# 2. 绑定self.tcp_server_socket.bind(("", 7890))# 3. 变为监听套接字self.tcp_server_socket.listen(128)def set_response_header(self, status, headers):self.status = statusself.headers = [("server", "WSGI_simple_web v1.0")]self.headers += headersdef run(self):new_socket, client_addr = self.tcp_server_socket.accept()env = new_socket.recv(1024)body = application(env, set_response_header) # env是web服务器接收到浏览器发送来的数据包;set_response_header为web服务器的⼀个⽅法地址,⽬的是让django帮web服务器⽣成http头部(不是以return的形式给web服务器);此外还有这⾥调⽤django⾥的应⽤ header = self.status + self.headersresponse = header + bodynew_socket.send(response.encode("utf-8"))django的app程序:def application(env, start_response):start_response('200 OK', [('Content-Type','text/html')])return [b"Hello World"]问题:在⽣产环境中使⽤django提供的简易web服务器性能太差,⼀般只⽤于调试。
nginx配置静态资源访问
nginx配置静态资源访问背景nginx是⼀款⾼性能的服务器,⽤途很多。
除了可以作为后端服务的负载均衡反向代理服务器,还有⼀个⽤途就是做静态资源的缓存服务器。
当前项⽬基本上都是前后端分离,为了加速前端页⾯的响应速度,可以将前端的相关资源,如html,js,css或者图⽚放到nginx指定⽬录下。
访问的时候只需要IP加路径就可以实现⾼效快速的访问。
正⽂⼀.⾸先安装好nginx,启动nginx服务且能够正常访问 Welcome to nginx!界⾯⼆.配置静态资源访问核⼼是配置nginx.conf⽂件,找到nginx.conf⽂件三.配置nginx.conf 3.1.在nginx.conf的http节点中添加配置,参考下⽅格式:server {listen 8000;listen somename:8080;server_name somename alias another.alias;location / {root html;index index.html index.htm;}} 3.2 解读server节点各参数含义 listen:代表nginx要监听的端⼝ server_name:代表nginx要监听的域名 location :nginx拦截路径的匹配规则 location块:location块⾥⾯表⽰已匹配请求需要进⾏的操作四.实例 4.1准备要访问的静态⽂件 两个⽂件夹:folder1 folder2 folder3各放两个⽂件⼀个index.html 4.2创建⼀个serverserver {listen 9999;server_name localhost;location /xixi {alias /Users/qingshan/folder1;index index.html;}location /haha {alias /Users/qingshan/folder2;index index.html;}location /folder3 {root /Users/qingshan;index index.html;}}五.重点 重点是理解alias与root的区别,root与alias主要区别在于nginx如何解释location后⾯的uri,这使两者分别以不同的⽅式将请求映射到服务器⽂件上。
nginx配置静态文件
nginx配置静态⽂件⼀、背景我们在使⽤nginx的时候会进⾏静态资源的配置,⽹上有很多⽅法,这⾥记录⼀下⾃⼰遇到的问题。
⼆、nginx下载与⽬录结构下载nginx的服务器:,下载完成后解压⼀下就可以了。
核⼼⽬录结构如下# 相同1. html⽂件夹默认的⽂件,存放默认的html2.logs⽂件夹记录错误和运⾏⽇志,这个可以进⾏排错3.conf⽂件夹最为重要的⽂件,⽤于uri的配置# 不同# nginx.exeWindows下的nginx启动⽬录# sbin⽂件Linux下的nginx启动⽬录三、基础命令列举⼀些常⽤的指令,在不同的语法上,运⾏的指令都差不多。
# windows下的# 启动nginxnginx start# nginx重载nginx -s reload# nginx停⽌nginx -s stop# nginx退出nginx -s quit# linux下的(与前⾯⼀致)./nginx [args]四、路由配置4.1 location配置4.1.1 路由配置含义# 路由匹配前缀内容=:精确匹配^~:精确前缀匹配~:区分⼤⼩写的正则匹配~*:不区分⼤⼩写的正则匹配/uri:普通前缀匹配/:通⽤匹配4.1.2 规则路由与请求uri# 规则设置location = / {echo"规则A";}location = /login {echo"规则B";}location ^~ /static/ {echo"规则C";}location ^~ /static/files {echo"规则X";}location ~ \.(gif|jpg|png|js|css)$ {echo"规则D";}location ~* \.png$ {echo"规则E";}location /img {echo"规则Y";}location / {echo"规则F";}# uri配置下的请求路由请求uri 匹配路由规则http://localhost/ 规则Ahttp://localhost/login 规则Bhttp://localhost/register 规则Fhttp://localhost/static/a.html 规则Chttp://localhost/static/files/a.txt 规则Xhttp://localhost/a.png 规则Dhttp://localhost/a.PNG 规则Ehttp://localhost/img/a.gif 规则Dhttp://localhost/img/a.tiff 规则Y4.1.3 路径选择在进⾏配置的时候需要使⽤到⼀些路径的管理,这⾥包括两个⽅法root和alias,其中alias只能在location中使⽤,⽽root可以任意使⽤。
nginx设置操作说明(部署说明书)
nginx部署操作说明#user nobody;worker_processes 1; #启动进程,通常设置成和cpu的数量相等#error_log logs/error.log;#error_log logs/error.log notice; #此处将优先级设置为warn#error_log logs/error.log info;#pid logs/nginx.pid;#工作模式及连接数上限events {worker_connections 1024; #单个后台worker process进程的最大并发链接数# 并发总数是 worker_processes 和 worker_connections 的乘积# 即 max_clients = worker_processes * worker_connections# 在设置了反向代理的情况下,max_clients = worker_processes * worker_connections / 4 为什么# 为什么上面反向代理要除以4,应该说是一个经验值# 根据以上条件,正常情况下的Nginx Server可以应付的最大连接数为:4 * 8000 = 32000# worker_connections 值的设置跟物理内存大小有关# 因为并发受IO约束,max_clients的值须小于系统可以打开的最大文件数# 而系统可以打开的最大文件数和内存大小成正比,一般1GB内存的机器上可以打开的文件数大约是10万左右# 我们来看看360M内存的VPS可以打开的文件句柄数是多少:# $ cat /proc/sys/fs/file-max# 输出 34336# 32000 < 34336,即并发连接总数小于系统可以打开的文件句柄总数,这样就在操作系统可以承受的范围之内# 所以,worker_connections 的值需根据 worker_processes 进程数目和系统可以打开的最大文件总数进行适当地进行设置# 使得并发总数小于操作系统可以打开的最大文件数目# 其实质也就是根据主机的物理CPU和内存进行配置# 当然,理论上的并发总数可能会和实际有所偏差,因为主机还有其他的工作进程需要消耗系统资源。
nginx实现域名跳转静态文件的方法
nginx实现域名跳转静态文件的方法在互联网开发中,域名跳转是一个非常常见的需求。
nginx作为一款高性能的Web服务器,提供了简单且灵活的配置方式,可以轻松实现域名跳转和静态文件的访问。
下面将介绍如何使用nginx来实现域名跳转静态文件的方法。
首先,确保你已经在服务器上安装了nginx,并且配置文件所在位置为"/etc/nginx/nginx.conf"。
首先,打开nginx配置文件,可以使用任意文本编辑器进行编辑。
找到主配置块(即http块),一般位于文件的开始处。
在主配置块中,添加一个新的server块,用于配置需要跳转的域名和静态文件的访问。
示例如下:```server {listen 80;server_name ;return 301 $request_uri;}```上述配置中,listen指令指定了nginx监听的端口为80,server_name指令指定了需要跳转的域名为$request_uri表示跳转到静态文件所在的域名和路径。
保存并关闭配置文件后,需要通过执行以下命令来重新加载nginx配置:```sudo nginx -s reload```此时,当用户访问,并保持原始请求的路径不变。
这样就实现了域名跳转静态文件的效果。
需要注意的是,跳转目标的静态文件服务器需要配置好来正确响应用户的请求。
可以在静态文件服务器上使用nginx、Apache等常见的Web服务器来提供静态文件的服务。
总结一下,通过nginx的简单配置,我们可以实现域名跳转静态文件的方法。
这种方法简洁高效,适用于各种场景,无论是个人网站还是企业网站都可以灵活运用。
希望以上介绍对你有所帮助。
详解Nginx静态服务配置(root和alias指令)
详解Nginx静态服务配置(root和alias指令)静态⽂件Nginx以其⾼性能著称,常⽤与做前端反向代理服务器。
同时nginx也是⼀个⾼性能的静态⽂件服务器。
通常都会把应⽤的静态⽂件使⽤nginx处理。
配置nginx的静态⽂件有两个指令,⼀个 root 和⼀个 alias。
对于这两个指令,是否需要在路径的后⾯加上斜杠,经常容易让⼈犯晕,本⽂通过尝试不同的匹配规则,归纳了⼀个⽐较通⽤的配置⽅式。
基本配置与Nginx Location Url⼀⽂关于location url配置的实验⼀样,本⽂也使⽤vagrant虚拟机⾥的nginx。
其基本配置如下:/etc/nginx/sites-enabled/pro.confserver {listen 80 default_server;server_name localhost;access_log /var/log/nginx/pro/access.log;error_log /var/log/nginx/pro/error.log;error_page 404 /404.html;root /vagrant/pro;index index.html index.htm;}项⽬的⽬录如下:pro tree.├── 403.html├── 404.html├── index.html├── static│├── flask││└── m.png│└── stc.jpg└── upload└── up.png3 directories, 6 files分别有两个静态⽂件夹,⼀个是static,另外⼀个是upload。
初识rootroot 是指定项⽬的根⽬录,适⽤与server和location。
可以指定多个,如果locaiton没有指定,会往其外层的server或http中寻找继承。
2016/09/28 07:41:48 [error] 4416#0: *70 open() "/vagrant/pro/static/stc.jpgx" failed (2: No such file or directory),client: 192.168.33.1, server: localhost, request: "GET /static/stc.jpgx HTTP/1.1", host: "192.168.33.10"即/vagrant/pro/static/stc.jpgx ⽂件不存在。
实训1:使用Nginx搭建Web服务器
实训1:使用Nginx搭建Web服务器
概述:
本文档旨在提供关于如何使用Nginx搭建Web服务器的详细指南。
Nginx是一个高性能的开源服务器软件,被广泛用于搭建静态和动态内容的Web服务器。
步骤:
- 安装Nginx软件,并按照安装程序的指示进行操作。
2. 配置Nginx:
- 打开Nginx的配置文件,该文件通常位于安装目录下的
`nginx.conf`。
- 根据需要,进行以下配置:
- 指定服务器的监听端口。
- 配置服务器的根目录。
- 配置访问日志和错误日志的位置。
- 配置虚拟主机,并将域名和相关的网站目录进行绑定。
3. 启动Nginx:
- 打开命令行工具,并转到Nginx的安装目录。
- 输入命令`nginx`启动Nginx服务器。
4. 验证服务器是否正常工作:
- 打开Web浏览器,并输入服务器的IP地址或域名。
- 如果看到服务器默认页面,表示Nginx服务器已经成功搭建。
5. 配置其他功能:
- 根据需要,可以配置Nginx提供的其他功能,如反向代理、
负载均衡等。
- 参考Nginx官方文档了解更多信息和配置选项。
注意事项:
- 在进行任何配置更改之前,请备份原始配置文件。
- 确保服务器的防火墙配置允许通过所选端口进行访问。
- 遵守服务器安全最佳实践并定期更新Nginx软件以获取最新
的安全补丁。
参考资料:
以上是使用Nginx搭建Web服务器的简要指南,希望对你有所帮助。
如果需要进一步的帮助或有其他问题,请随时联系我们。
nginx下部署静态网站
nginx下部署静态网站
前提条件: nginx 服务已经安装好,域名已经备案通过并解析1.建文件夹,先把静态网站上传至此文件下
执行mkdir 文件夹名称命令建文件夹
2.文件夹赋权限(读写权限)
执行chown -R nginx:nginx 文件夹名称
3. 修改nginx配置文件
执行cd /etc/nginx
到nginx目录下
1) 执行vim nginx.conf,复制一个server节点
listen 监听的端口号(默认的是80端口)
server_name 解析好的域名(也就是网址)
root 静态资源地址默认路径(默认能找到index.html,不需要刻意的写) charset 编码格式
按insert键修改,然后esc退出,然后输入:wq 进行保存。
2)配置一个二级域名:
需要增加一个location节点
root默认指定的是index,这里需要指定index为mail.html
4.重新启动nginx服务
service nginx stop 停掉nginx服务
再执行service nginx start 启动nginx服务
然后网站就可以通过域名进行访问了。
Nginx搭建(完整版)
目录1搭建nginx需要的安装包-----------------------------------------------------------------------2 2前期准备--------------------------------------------------------------------------------------------22.1 检测-----------------------------------------------------------------------------------------22.2安装libiconv-1.13--------------------------------------------------------------------------22.3安装libmcrypt-2.5.8.----------------------------------------------------------------------22.4安装mhash-0.9.9.9-------------------------------------------------------------------------22.5安装mcrypt-2.6.8--------------------------------------------------------------------------33安装mysql------------------------------------------------------------------------------------------3 3.1创建用户和组--------------------------------------------------------------------------------3 3.2安装编译--------------------------------------------------------------------------------------3 3.3创建MySQL数据库存放目录------------------------------------------------------------3 3.4创建f配置文件-----------------------------------------------------------------------3 3.5创建管理MySQL数据库的shell脚本---------------------------------------------------5 3.6创建账户,赋予关闭的权限----------------------------------------------------------------6 4安装编译php----------------------------------------------------------------------------------------6 4.1 编译php---------------------------------------------------------------------------------------6 4.2编译安装PHP扩展模块--------------------------------------------------------------------74.2.1编译memcache--------------------------------------------------------------------------74.2.2编译eaccelerator-0.9.5.3--------------------------------------------------------------74.2.3编译PDO_MYSQL-1.0.2-------------------------------------------------------------74.2.4编译ImageMagick----------------------------------------------------------------------74.2.5编译imagick-2.2.2-----------------------------------------------------------------------74.3 修改php配置文件------------------------------------------------------------------------74.4配置eAccelerator加速PHP--------------------------------------------------------------84.5创建www用户和组------------------------------------------------------------------------84.6创建虚拟机目录-----------------------------------------------------------------------------84.7创建php-fpm配置文件--------------------------------------------------------------------84.8启动php-cgi进程---------------------------------------------------------------------------12 5安装编译nginx-----------------------------------------------------------------------------------125.1安装Nginx所需的pcre库---------------------------------------------------------------125.2安装Nginx----------------------------------------------------------------------------------125.3建Nginx配置文件-------------------------------------------------------------------------125.4启动Nginx-----------------------------------------------------------------------------------125.5配置开机自动启动Nginx + PHP--------------------------------------------------------135.6优化Linux内核参数-----------------------------------------------------------------------135.7在不停止Nginx服务的情况下平滑变更Nginx配置--------------------------------135.7.1检查配置文件---------------------------------------------------------------------------135.7.2 nginx进程--------------------------------------------------------------------------------145.8编写每天定时切割Nginx日志的脚本---------------------------------------------------145.8.1创建脚本---------------------------------------------------------------------------------145.8.2添加自动任务----------------------------------------------------------------------------146 安装编译memcached-------------------------------------------------------------------------------156.1 安装编译libevent-----------------------------------------------------------------------------156.2 安装编译memcached------------------------------------------------------------------------156.3 启动memcached守护进程-----------------------------------------------------------------156.4 php使用测试--------------------------------------------------------------------------------156.5 停止memcached服务-----------------------------------------------------------------------151、搭建nginx需要的安装包放在219.234.83.29服务器上cd /home/chenjl/software/nginx0.8_basepacage2、前期准备2.1需要安装一些常用的包,在安装服务器时选择安装开发工具,会安装一些常用的包,如果安装了yum,可以用检测一下(【适用CentOS操作系统】)yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers2.2安装libiconv-1.13.tar.gztar zxvf libiconv-1.13.tar.gzcd libiconv-1.13/./configure --prefix=/usr/localmakemake install2.3安装libmcrypt-2.5.8.tar.gztar zxvf libmcrypt-2.5.8.tar.gzcd libmcrypt-2.5.8/./configuremakemake install/sbin/ldconfigcd libltdl/./configure --enable-ltdl-installmakemake install2.4安装mhash-0.9.9.9.tar.gztar zxvf mhash-0.9.9.9.tar.gzcd mhash-0.9.9.9/./configuremakemake installln -s /usr/local/lib/ /usr/lib/ln -s /usr/local/lib/libmcrypt.so /usr/lib/libmcrypt.soln -s /usr/local/lib/libmcrypt.so.4 /usr/lib/libmcrypt.so.4ln -s /usr/local/lib/libmcrypt.so.4.4.8 /usr/lib/libmcrypt.so.4.4.8ln -s /usr/local/lib/libmhash.a /usr/lib/libmhash.aln -s /usr/local/lib/ /usr/lib/ln -s /usr/local/lib/libmhash.so /usr/lib/libmhash.soln -s /usr/local/lib/libmhash.so.2 /usr/lib/libmhash.so.2ln -s /usr/local/lib/libmhash.so.2.0.1 /usr/lib/libmhash.so.2.0.12.5安装mcrypt-2.6.8.tar.gztar zxvf mcrypt-2.6.8.tar.gzcd mcrypt-2.6.8//sbin/ldconfig./configuremakemake install3、安装mysql3.1 创建用户和组/usr/sbin/groupadd mysql/usr/sbin/useradd -g mysql mysql3.2 安装编译tar zxvf mysql-5.1.38.tar.gzcd mysql-5.1.38/./configure --prefix=/usr/local/mysql/ --enable-assembler --with-extra-charsets=complex --enable-thread-safe-client --with-big-tables --with-readline --with-ssl --with-embedded-server --enable-local-infile --with-plugins=innobasemake && make installchmod +w /usr/local/mysqlchown -R mysql:mysql /usr/local/mysqlmkdir -p /usr/local/mysqldata/3.3创建MySQL数据库存放目录chown -R mysql:mysql /usr/local/mysql/data//usr/local/mysql/bin/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql /data --user=mysql3.4创建f配置文件输入以下内容:###############################[client]default-character-set = utf8port = 3306socket = /tmp/mysql.sock[mysql]prompt="(\u::)[\d]> "no-auto-rehash[mysqld]#default-character-set = utf8user = mysqlport = 3306socket = /tmp/mysql.sockbasedir = /usr/local/mysqldatadir = /usr/local/mysql/dataopen_files_limit = 10240back_log = 600max_connections = 3000max_connect_errors = 6000table_cache = 614external-locking = FALSEmax_allowed_packet = 32Msort_buffer_size = 2Mjoin_buffer_size = 2Mthread_cache_size = 300thread_concurrency = 8query_cache_size = 32Mquery_cache_limit = 2Mquery_cache_min_res_unit = 2kdefault-storage-engine = MyISAMdefault_table_type = MyISAMthread_stack = 192Ktransaction_isolation = READ-COMMITTED tmp_table_size = 246Mmax_heap_table_size = 246Mlong_query_time = 1log_long_formatlog-bin = /data0/mysql/3306/binlogbinlog_cache_size = 4Mbinlog_format = MIXEDmax_binlog_cache_size = 8Mmax_binlog_size = 512Mexpire_logs_days = 7key_buffer_size = 256Mread_buffer_size = 1Mread_rnd_buffer_size = 16Mbulk_insert_buffer_size = 64Mmyisam_sort_buffer_size = 128Mmyisam_max_sort_file_size = 10Gmyisam_max_extra_sort_file_size = 10G myisam_repair_threads = 1myisam_recoverskip-name-resolvemaster-connect-retry = 10slave-skip-errors = 1032,1062,126,1114,1146,1048,1396server-id = 1innodb_additional_mem_pool_size = 16Minnodb_buffer_pool_size = 2048Minnodb_data_file_path = ibdata1:1024M:autoextendinnodb_file_io_threads = 4innodb_thread_concurrency = 8innodb_flush_log_at_trx_commit = 2innodb_log_buffer_size = 16Minnodb_log_file_size = 128Minnodb_log_files_in_group = 3innodb_max_dirty_pages_pct = 90innodb_lock_wait_timeout = 120innodb_file_per_table = 0[mysqldump]quickmax_allowed_packet = 32M以上数据,根据需要做修改;3.5创建管理MySQL数据库的shell脚本#!/bin/shmysql_port=3306mysql_username="chenjl"mysql_password="cjl1981"function_start_mysql(){printf "Starting MySQL...\n"/bin/sh /usr/local/mysql/bin/mysqld_safe --defaults-file=/usr/local/mysql/f 2>&1 > /dev/null &}function_stop_mysql(){printf "Stoping MySQL...\n"/usr/local/mysql/bin/mysqladmin -u ${mysql_username} -p${mysql_password} -S /tmp/mysql.sock shutdown}function_restart_mysql(){printf "Restarting MySQL...\n"function_stop_mysqlsleep 5function_start_mysql}function_kill_mysql(){kill -9 $(ps -ef | grep 'bin/mysqld_safe' | grep ${mysql_port} | awk '{printf $2}')kill -9 $(ps -ef | grep 'libexec/mysqld' | grep ${mysql_port} | awk '{printf $2}')}if [ "$1" = "start" ]; thenfunction_start_mysqlelif [ "$1" = "stop" ]; thenfunction_stop_mysqlelif [ "$1" = "restart" ]; thenfunction_restart_mysqlelif [ "$1" = "kill" ]; thenfunction_kill_mysqlelseprintf "Usage: /data0/mysql/${mysql_port}/mysql {start|stop|restart|kill}\n"fichmod 755 /usr/local/mysql/bin/mysql.sh3.6 创建账户,赋予关闭的权限/usr/local/mysql/bin/mysql -u root -p -S /tmp/mysql.sockGRANT ALL PRIVILEGES ON *.* TO 'chenjl'@'localhost' IDENTIFIED BY 'cjl1981';GRANT ALL PRIVILEGES ON *.* TO 'chenjl'@'127.0.0.1' IDENTIFIED BY 'cjl1981;4、安装编译php4.1 编译phptar zxvf php-5.2.10.tar.gzgzip -cd php-5.2.10-fpm-0.5.11.diff.gz | patch -d php-5.2.10 -p1cd php-5.2.10/./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-iconv-dir=/usr/local --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir=/usr --enable-xml --disable-rpath --enable-discard-path --enable-safe-mode --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --with-curlwrappers --enable-mbregex --enable-fastcgi --enable-fpm --enable-force-cgi-redirect --enable-mbstring --with-mcrypt --with-gd --enable-gd-native-ttf --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-ldap --with-ldap-sasl --with-xmlrpc --enable-zip --enable-soap --without-pearmake ZEND_EXTRA_LIBS='-liconv'make installcp php.ini-dist /usr/local/php/etc/php.inicurl /go-pear | /usr/local/php/bin/php4.2编译安装PHP扩展模块4.2.1 编译memcachetar zxvf memcache-2.2.5.tgzcd memcache-2.2.5//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake install启动方式:/usr/local/bin/memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 1024 -P /tmp/memcached.pid4.2.2 编译eaccelerator-0.9.5.3tar jxvf eaccelerator-0.9.5.3.tar.bz2cd eaccelerator-0.9.5.3//usr/local/php/bin/phpize./configure --enable-eaccelerator=shared --with-php-config=/usr/local/php/bin/php-configmakemake install4.2.3编译PDO_MYSQL-1.0.2tar zxvf PDO_MYSQL-1.0.2.tgzcd PDO_MYSQL-1.0.2//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysqlmakemake install4.2.4编译ImageMagicktar zxvf ImageMagick.tar.gzcd ImageMagick-6.5.1-2/./configure tar zxvf imagick-2.2.2.tgzmakemake instal4.2.5 编译imagick-2.2.2tar zxvf imagick-2.2.2.tgzcd imagick-2.2.2//usr/local/php/bin/phpize./configure --with-php-config=/usr/local/php/bin/php-configmakemake install4.3 修改php配置文件手工修改:查找/usr/local/php/etc/php.ini中的extension_dir = "./"修改为extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"并在此行后增加以下几行,然后保存:extension = "memcache.so"extension = "pdo_mysql.so"extension = "imagick.so"再查找output_buffering = Off修改为output_buffering = On4.4配置eAccelerator加速PHPmkdir -p /usr/local/eaccelerator_cachevi /usr/local/php/etc/php.ini按shift+g键跳到配置文件的最末尾,加上以下配置信息:[eaccelerator]zend_extension="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/eacceler ator.so"eaccelerator.shm_size="64"eaccelerator.cache_dir="/usr/local/eaccelerator_cache"eaccelerator.enable="1"eaccelerator.optimizer="1"eaccelerator.check_mtime="1"eaccelerator.debug="0"eaccelerator.filter=""eaccelerator.shm_max="0"eaccelerator.shm_ttl="3600"eaccelerator.shm_prune_period="3600"eaccelerator.shm_only="0"press="1"press_level="9"4.5创建www用户和组usr/sbin/groupadd www/usr/sbin/useradd -g www www4.6创建虚拟机目录Mkdir /usr/local/wwwChown –R www:www /usr/local/www4.7创建php-fpm配置文件<?xml version="1.0" ?><configuration>All relative paths in this config are relative to php's install prefix<section name="global_options">Pid file<value name="pid_file">/usr/local/php/logs/php-fpm.pid</value>Error log file<value name="error_log">/usr/local/php/logs/php-fpm.log</value>Log level<value name="log_level">notice</value>When this amount of php processes exited with SIGSEGV or SIGBUS ...<value name="emergency_restart_threshold">10</value>... in a less than this interval of time, a graceful restart will be initiated.Useful to work around accidental curruptions in accelerator's shared memory. <value name="emergency_restart_interval">1m</value>Time limit on waiting child's reaction on signals from master<value name="process_control_timeout">5s</value>Set to 'no' to debug fpm<value name="daemonize">yes</value></section><workers><section name="pool">Name of pool. Used in logs and stats.<value name="name">default</value>Address to accept fastcgi requests on.Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'<value name="listen_address">127.0.0.1:9000</value><value name="listen_options">Set listen(2) backlog<value name="backlog">-1</value>Set permissions for unix socket, if one used.In Linux read/write permissions must be set in order to allow connections from web server.Many BSD-derrived systems allow connections regardless of permissions.<value name="owner"></value><value name="group"></value><value name="mode">0666</value></value>Additional php.ini defines, specific to this pool of workers.<value name="php_defines"><value name="sendmail_path">/usr/sbin/sendmail -t -i</value><value name="display_errors">1</value></value>Unix user of processes<value name="user">www</value>Unix group of processes<value name="group">www</value>Process manager settings<value name="pm">Sets style of controling worker process count.Valid values are 'static' and 'apache-like'<value name="style">static</value>Sets the limit on the number of simultaneous requests that will be served.Equivalent to Apache MaxClients directive.Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgiUsed with any pm_style.<value name="max_children">128</value>Settings group for 'apache-like' pm style<value name="apache_like">Sets the number of server processes created on startup.Used only when 'apache-like' pm_style is selected<value name="StartServers">20</value>Sets the desired minimum number of idle server processes.Used only when 'apache-like' pm_style is selected<value name="MinSpareServers">5</value>Sets the desired maximum number of idle server processes.Used only when 'apache-like' pm_style is selected<value name="MaxSpareServers">35</value></value></value>The timeout (in seconds) for serving a single request after which the worker process will be terminatedShould be used when 'max_execution_time' ini option does not stop script execution for some reason'0s' means 'off'<value name="request_terminate_timeout">0s</value>The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file'0s' means 'off'<value name="request_slowlog_timeout">0s</value>The log file for slow requests<value name="slowlog">logs/slow.log</value>Set open file desc rlimit<value name="rlimit_files">65535</value>Set max core size rlimit<value name="rlimit_core">0</value>Chroot to this directory at the start, absolute path<value name="chroot"></value>Chdir to this directory at the start, absolute path<value name="chdir"></value>Redirect workers' stdout and stderr into main error log.If not set, they will be redirected to /dev/null, according to FastCGI specs<value name="catch_workers_output">yes</value>How much requests each process should execute before respawn.Useful to work around memory leaks in 3rd party libraries.For endless request processing please specify 0Equivalent to PHP_FCGI_MAX_REQUESTS<value name="max_requests">102400</value>Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+) Makes sense only with AF_INET listening socket.<value name="allowed_clients">127.0.0.1</value>Pass environment variables like LD_LIBRARY_PATHAll $V ARIABLEs are taken from current environment<value name="environment"><value name="HOSTNAME">$HOSTNAME</value><value name="PATH">/usr/local/bin:/usr/bin:/bin</value><value name="TMP">/tmp</value><value name="TMPDIR">/tmp</value><value name="TEMP">/tmp</value><value name="OSTYPE">$OSTYPE</value><value name="MACHTYPE">$MACHTYPE</value><value name="MALLOC_CHECK_">2</value></value></section></workers></configuration>注:请将以下的<value name="display_errors">0</value>改为<value name="display_errors">1</value>,以便显示PHP错误信息,否则,Nginx 会报状态为500的空白错误页)4.8启动php-cgi进程,监听127.0.0.1的9000端口,进程数为200(如果服务器内存小于3GB,可以只开启64个进程),用户为www:ulimit -SHn 65535/usr/local/php/sbin/php-fpm start注:/usr/local/php/sbin/php-fpm还有其他参数,包括:start|stop|quit|restart|reload|logrotate,修改php.ini后不重启php-cgi,重新加载配置文件使用reload。
静态站点部署方案
静态站点部署方案随着互联网技术的不断进步,构建自己的个人网站已经成为一件相对简单的事情。
但是,在搭建网站之后,很多人并不清楚如何将自己的网站部署到服务器上。
本文将介绍静态站点部署的一些方案。
什么是静态站点?静态站点是指没有使用服务器端动态脚本语言,如PHP、Python 等的网站。
相反,它们通常只包含HTML、CSS和JavaScript文件。
静态站点的好处在于:它们可以轻松地生成,并且由于没有后端编程语言的使用,它们的托管成本通常更低。
静态站点部署方案GitHub PagesGitHub Pages提供了一个免费的静态站点托管解决方案。
它允许您将自己的代码托管在GitHub上,并将其转换为一个网站。
以下是部署静态网站到GitHub的步骤:1.将您的站点文件上传到GitHub存储库。
2.打开存储库设置并找到“GitHub Pages”。
3.选择要部署的分支,并设置域名。
GitHub Pages还允许用户选择使用默认的子域名,例如“example.github.io”,或将其映射到自己的域名。
Amazon S3 + CloudFrontAmazon S3提供了一个存储和分发静态站点的解决方案,并使用Amazon CloudFront将内容分发到全球内容传输网络(CDN)。
以下是使用Amazon S3 + CloudFront部署静态站点的步骤:1.创建Amazon S3桶并上传站点文件。
2.配置桶为静态站点托管。
3.启用Amazon S3桶的公共访问。
4.创建CloudFront分发并将其指向S3桶。
由于Amazon S3 + CloudFront是一种按使用量计费的服务,因此它们对于流量较小的站点而言可能是一种更昂贵的解决方案。
NetlifyNetlify是一个针对静态站点的全功能托管平台。
它不仅提供了自动构建、部署和网站管理,还提供了很多优秀的功能,例如HTTPS、自动提交Git、A/B测试等。
nginx安装操作说明(正向代理-hls流媒体)
1、安装过程a.# yum install -y pcrepcre-devel# yum install -y opensslopenssl-develb.# tar xzf nginx-1.7.3.tar.gz# cd nginx-1.7.3c.# ./configure(默认安装路径为/usr/local/nginx)d.# make# make installf.启动:nginx# /usr/local/nginx/sbin/nginxe.添加到系统服务将nginx文件直接复制到以下路径/etc/init.d/nginxh.# chmoda+x /etc/init.d/nginx设置权限设置开机启动配置文件rc.local# vim /etc/rc.local添加一行/etc/init.d/nginx start# /etc/init.d/nginx restart 重启测试g.添加用户# useraddnginxI.新建文件夹(对照nginx.cof文件中相关参数路径)[root@localhost/]# cd /opt/[root@localhost/]#mkdir local[root@localhostopt]# cd local[root@localhostlocal]#mkdirtmp[root@localhostlocal]#mkdir cache[root@localhostlocal]#mkdirvar[root@localhostlocal]# cd var/[root@localhostvar]#mkdir log[root@localhostvar]# cd logs/[root@localhostlogs]#mkdirnginx[root@localhostvar]# cd ..[root@localhostlocal]# cd tmp/[root@localhosttmp]#mkdirnginx[root@localhostnginx]# cd nginx[root@localhostnginx]#mkdirproxy_temp注:路径/opt/local/cache主要用来存放直播缓存,大约需要30-100G的存储大小(实时改变),因此建议把路径设置到/opt下2、配置a、替换正向代理配置文件nginx.conf路径/usr/local/nginx/confb、重启nginx# /usr/local/nginx/sbin/nginx -s reload另外相关命令1、查看状态使用ps -ef|grepnginx查看nginx的进程2、停止nginx所有进程[root@linuxidcsbin]#pkill -9 nginx。
nginx环境建好后搭建虚拟站点基本流程
nginx环境建好后搭建虚拟站点基本流程
因为把一块空的磁盘挂在home 上了... 建议不要挂在home 目录...
cd /home/wwwroot/ (进到站点目录)
mkdir xxx.xxx (创建文件夹,一般以域名命名文件夹)
cd xxx.xxx (进入刚才自己创建的文件夹)
1、下载形式:
wget xxx.xxx/xxx.xxx
可以直接的,直接下载到目录下面,然后解压。
2、上传形式:
必须先建个ftp
puredb 这种形式:
pure-pw useradd xxx.xxxftp -u ftpgroup -d /home/wwwroot/xxx.xxx -m # xxx.xxxftp 是用户名ftpgroup 是ftp 用户(非虚拟用户) -d 后跟xxx.xxxftp 用
户目录-m 直接生成puredb 不用mkdb
传好后同样解压。
创建mysql 账户
mysql -u root -p # 回车输入密码
create database xxx.xxx; # 创建数据库(xxx.xxx 为数据库名)。
create user ‘xxx.xxx’@’localhost’ identified by ‘password’; # 创建数据库用户名xxx.xxx 为用户名password 为用户名对应的密码;
grant all privileges on xxx.xxx.* to ‘xxx.xxx’@’localhost; # 为xxx.xxx 这个数据库指定xxx.xxx 这个数据库用户名,并指定所有权限;
OK 退出;。
利用nginx搭建静态资源服务器的方法步骤
利⽤nginx搭建静态资源服务器的⽅法步骤以windows为例,linux其实⼀样;搭建静态资源服务器我电脑上的work⽂件夹下⾯有很多图⽚,我想通过nginx搭建静态资源服务器,通过在地址栏输⼊ip+port的⽅式完成⽬录的映射找到nginx安装⽬录,打开/conf/nginx.conf配置⽂件,添加⼀个虚拟主机添加监听端⼝、访问域名重点是添加location,映射-URL:/work/;注意:如果当前server模块中已有⼀个location且URL为“/”,那么新建的location的url应为匹配路径,不得再为“/”,此时,映射路径可不是随便写的,⾸先是你的root⽬录下⾯必须有这个URL⽬录,否则会报404(这⼀规则当时可是害惨我了);如果没有,URL可以写成“/”,如下图:添加root⽬录(就是你想要展⽰静态资源的根⽬录,层级之间使⽤正斜杠“/”):D:/pic_resource/;开启浏览⽬录权限:autoinedx on,默认是off;然后保存,启动nginx;windows下的nginx命令:⾸先是cmd命令模式进⼊nginx⽬录,启动:start nginx.exe;加载最新配置:./nginx.exe -s reload;停⽌:./nginx.exe -s quit;如果检查是否已启动,可查看nginx⽬录下的logs⽂件下是否有nginx.pid⽂件,有则表⽰成功启动。
若没有可以查看logs⽬录下的error.log错位⽇志,会提醒你出错的地⽅。
在地址栏输⼊:127.0.0.1:8008/work/,即可看到下图,表⽰配置成功。
到此这篇关于利⽤nginx搭建静态资源服务器的⽅法步骤的⽂章就介绍到这了,更多相关nginx 静态资源服务器内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!。
使用Nginx部署静态页面
使⽤Nginx部署静态页⾯Nginx 介绍Nginx 是俄罗斯⼈编写的⼗分轻量级的 HTTP 服务器, Nginx,它的发⾳为「engine X」,是⼀个⾼性能的 HTTP 和反向代理服务器,同时也是⼀个 IMAP/ POP3/ SMTP 代理服务器。
Nginx 是由俄罗斯⼈ Igor Sysoev 为俄罗斯访问量第⼆的 Rambler.ru 站点开发的,它已经在该站点运⾏超过两年半了。
Igor Sysoev 在建⽴的项⽬时,使⽤基于 BSD 许可。
Nginx 作为 HTTP 服务器,有以下⼏项基本特性:处理静态⽂件,索引⽂件以及⾃动索引;打开⽂件描述符缓冲。
⽆缓存的反向代理加速,简单的负载均衡和容错。
FastCGI,简单的负载均衡和容错。
模块化的结构。
包括 gzipping, byte ranges, chunked responses,以及 SSI-filter 等 filter。
如果由 Fast CGI 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并⾏运⾏,⽽不需要相互等待。
⽀持 SSL 和 TLSSNI。
即 Nginx 的优点:轻量、⾼性能、并发能⼒强。
⽤来部署静态页⾯也是相当便捷。
这种⾼性能得益于 Nginx 的框架。
在 Nginx 启动后,会有⼀个 master 进程和多个 worker 进程。
master 进程主要⽤来管理 worker 进程,包含:接收来⾃外界的信号,向各 worker 进程发送信号,监控 worker 进程的运⾏状态,当 worker 进程退出后 (异常情况下),会⾃动重新启动新的 worker 进程。
⽽基本的⽹络事件,则是放在 worker 进程中来处理的。
多个 worker 进程之间是对等的,他们同等竞争来⾃客户端的请求,各进程互相之间是独⽴的。
⼀个请求,只可能在⼀个 worker 进程中处理,⼀个 worker 进程,不可能处理其它进程的请求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
搭建Nginx 静态网站的详细步骤
【注意事项】:如果以前安装了HTTPS或者微信小程序环境,以下步骤不能正常完成静态网站的搭建。
建议在开始以下步骤之前,先备份好数据,然后重新安装操作系统(最省事、最简单的办法)。
1、搭建Http静态服务器环境
搭建静态网站,首先需要部署环境。
下面的步骤,将告诉大家如何在服务器上通过 Nginx 部署 HTTP 静态服务。
1.1、安装Nginx
在 CentOS 上,可直接使用 yum 来安装 Nginx
#yum install nginx -y
安装完成后,使用 nginx 命令启动 Nginx:
#nginx
此时,访问 http://119.29.169.38 可以看到 Nginx 的测试页面
1.2、配置静态服务器访问路径
外网用户访问服务器的 Web 服务由 Nginx 提供,Nginx 需要配置静态资源的路径信息才能通过 url 正确访问到服务器上的静态资源。
打开 Nginx 的默认配置文件 /etc/nginx/nginx.conf ,修改 Nginx 配置,将默认的 root /usr/share/nginx/html; 修改为: root /data/www;,如下:nginx.conf(文件内容略)
配置文件将 /data/www/static 作为所有静态资源请求的根路径,如访问: http://119.29.169.38/static/index.js,将会去 /data/www/static/ 目录下去查找 index.js。
现在我们需要重启 Nginx 让新的配置生效,如:#nginx -s reload
重启后,现在我们应该已经可以使用我们的静态服务器了,现在让我们新建一个静态文件,查看服务是否运行正常。
首先让我们在 /data 目录下创建 www 目录,如:
#mkdir -p /data/www
1.3、创建第一个静态文件
在 /data/www 目录下创建我们的第一个静态文件 index.html
index.html:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>第一个静态文件</title>
</head>
<body>
Hello world!
</body>
</html>
现在访问http://119.29.169.38/index.html 应该可以看到页面输出Hello world!
到此,一个基于Nginx 的静态服务器就搭建完成了,现在所有放在/data/www 目录下的的静态资源都可以直接通过域名访问。
2、完成实验
恭喜!您已经成功完成了搭建Http静态服务器环境的实验任务。