-
2022-02-19 15:49:41
1.安装Nginx
(1) 安装gcc g++的依赖库
sudo apt-get install build-essential && sudo apt-get install libtool
(2)安装pcre依赖库
sudo apt-get install libpcre3 libpcre3-dev
(3)安装zlib依赖库
sudo apt-get install zlib1g-dev
(4)安装ssl依赖库
sudo apt-get install openssl libssl-dev
(5)下载安装包
wget http://nginx.org/download/nginx-1.16.0.tar.gz
(6)解压
tar zxvf nginx-1.16.0.tar.gz
(7)进入解压目录
cd nginx-1.16.0/
(8)安装
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
sudo make
sudo make install
(9)启动(需要取得sudo su权限)
sudo su //input password
/usr/local/nginx/sbin/nginx
(10)测试安装成功
①虚拟机中测试cd /usr/local/nginx/sbin/ ./nginx -t nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
表示成功。如果出现failed可能是因为没有sudo su取得root权限。
②主机中测试
在浏览器输入localhost(或者虚拟机IP地址) 出现此页面表示成功
2.配置Nginx
只读,需要root权限
vi /usr/local/nginx/conf/nginx.conf
修改如下配置
server { listen 80;//端口 server_name xxx.com;//输入自己设置的网址 location/{ root /home/xxx/xxx/xxx;//网页的地址 index index.html index.htm//主页名称 } }
修改后重启Nginx:
./nginx -s reload
主机host修改
(直接在主机中输入网址即可转入网页,注意不要和已有网站重复)
在虚拟机中输入:ifconfig 复制下IP地址
在Windows下打开下面路径:
C:\Windows\System32\drivers\etc
打开hosts
在最下面添加:192.168.xxx.xxx www.xxx.com #ip地址对应的网址,网址随便填, #不要和广域网网站冲突即可
wsl的问题
这个方法在vm或者wsl都可以安装成功,在wsl下时,使用filezilla出现了问题(putty也不可以),一直连接不上,搜了下,找到了问题:
默认的wsl中已经安装了OpenSSL但是连不上,需要卸载重装sudo apt-get purge openssh-server
sudo apt-get install openssh-server
sudo service ssh --full-restart
迁移wsl到其他电脑:
在旧电脑或系统中输入(powershell):
wsl --export distro_name file_name.tar
此时wsl系统已经被打包成tar文件,在新的电脑或系统中输入:
wsl --import distro_name install_location file_name.tar
此时就完成了wsl迁移。如果想删除wsl则执行:
wsl --unregister distro_name
查询wsl安装情况执行:
wsl --list
wsl性能问题
写代码的时候,发现wsl速度特别慢,连我将近十年左右的笔记本都比不上,查了下,是Windows自带的防病毒软件造成的,把wsl的文件夹加入白名单就行了
然后选择你安装wsl的文件夹即可。更多相关内容 -
【docker系列】使用docker安装nginx提供web服务
2022-04-01 08:27:53一般学习一项技术,会先用一个最简单的例子或最典型的例子来向大家讲解入门内容,所以此文为大家介绍使用docker安装nginx容器服务。从基础使用的角度来讲,此文几乎涵盖了docker最核心的内容:镜像拉取、容器运行、...
一般学习一项技术,会先用一个最简单的例子或最典型的例子来向大家讲解入门内容,所以此文为大家介绍使用docker安装nginx容器服务。 从基础使用的角度来讲,此文几乎涵盖了docker最核心的内容:镜像拉取、容器运行、端口映射、文件映射,虽然基础但很重要,所以对于初学者还是很有必要认真看的。一、拉取镜像
docker pull命令用于拉取应用镜像,
docker pull nginx
命令用于拉取最新版本的nginx镜像。下文为拉取镜像过程的响应结果:# docker pull nginx Using default tag: latest latest: Pulling from library/nginx c229119241af: Pull complete 2215908dc0a2: Pull complete 08c3cb2073f1: Pull complete 18f38162c0ce: Pull complete 10e2168f148a: Pull complete c4ffe9532b5f: Pull complete Digest: sha256:2275af0f20d71b293916f1958f8497f987b8d8fd8113df54635f2a5915002bf1 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest
从上文我们可以看出nginx镜像是从
docker.io
这个网址拉取下来的。使用
docker images
命令可以查看当前操作系统中下载了哪些镜像文件。# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 12766a6745ee 33 hours ago 142MB hello-world latest feb5d9fea6a5 6 months ago 13.3kB
- REPOSITORY镜像仓库及镜像名称,如果不显示镜像仓库,默认就是
docker.io
- TAG镜像的版本或者是里程碑标签,latest表示最新版本
- IMAGE ID 镜像的唯一标识
- CREATED 这个镜像被创建的时间
- SIZE表示镜像文件的大小
二、运行镜像启动容器
通过
docker run
命令启动一个容器,容器名称为nginx-zimug。# docker run -d --name nginx-zimug -p 80:80 nginx 81bb1211144bc0991a789f860458548643c60b5459466c14d0604be9a4ccbfd7
-d
表示容器在后台运行--name
为容器起一个名字-p
端口映射,格式为宿主机端口:容器端口
,上文中含义是将容器中的端口80映射到宿主机的端口80,对外提供访问服务。- 最后一个字段为镜像名称
浏览器HTTP协议访问宿主机的80端口,如果是80端口可以省略。得到的访问结果如下,说明我们的nginx服务已经启动成功了。
通过
docker ps
可以查看正在运行中的容器,如下所示:CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 81bb1211144b nginx "/docker-entrypoint.…" 11 minutes ago Up 11 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx-zimug
三、文件映射
首先明确的是容器中的文件内容是可以被修改的,但是一旦容器重启,所有写入到容器中的,针对数据文件、配置文件的修改都将丢失。所以为了保存容器的运行状态,执行结果,我们需要将容器内的一些重要的数据文件、日志文件、配置文件映射到宿主机上。
以nginx为例,nginx有三个重要的文件目录:容器中路径 宿主机中自定义映射路径 存储网站网页的目录 /usr/share/nginx/html /root/nginx/html nginx配置文件目录 /etc/nginx/nginx.conf /root/nginx/conf/nginx.conf 日志目录 /var/log/nginx /root/nginx/logs 在宿主机中新建文件目录
mkdir -p /root/nginx/logs /root/nginx/html /root/nginx/conf;
将容器中的文件copy到宿主机中
将nginx配置文件copy到宿主机中docker cp nginx-zimug:/etc/nginx/nginx.conf /root/nginx/conf;
将一个模拟的html文件放入html目录
将下面的文件保存为index.html放入宿主机的/root/nginx/html
目录,因为存在映射关系,实际上也是放入了容器的/usr/share/nginx/html
目录。<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>使用docker搭建nginx web服务</title> </head> <body> <h1>访问成功</h1> <p>厉害了!</p> </body> </html>
四、再次启动容器服务
-v
参数表达了宿主机文件与容器中文件的映射关系,格式为-v 宿主机目录:容器文件系统目录
。启动一个新的容器,容器的名字叫做nginx-proddocker run -d -p 80:80 \ --name nginx-prod \ -v /root/nginx/html:/usr/share/nginx/html \ -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /root/nginx/logs:/var/log/nginx nginx
在启动新容器之前,将nginx-zimug旧的容器删掉。如果不删除旧的容器,新容器的端口与旧容器端口会发生冲突。使用如下命令删除容器:
docker stop nginx-zimug; docker rm nginx-zimug;
执行上面的
docker run
命令,启动新的容器。启动后通过浏览器访问宿主机80端口,响应结果如下证明nginx正常提供web服务了。
同时可以在宿主机上修改nginx配置,也可以查看运行时日志文件。修改结果会影响容器nginx服务的运行,因为宿主机的配置文件与容器内的配置文件存在映射关系。
- REPOSITORY镜像仓库及镜像名称,如果不显示镜像仓库,默认就是
-
Web服务器Nginx
2022-02-26 09:13:54大家好好久不见,我又来了。直接切入正题今天我们来聊一聊nginx 一、什么是nginx Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,使用c语言编写的一款web服务器软件。...3.1安装nginx的依赖 1. yum大家好好久不见,我又来了。直接切入正题今天我们来聊一聊nginx
一、什么是nginx
Nginx(engine x)是一个高性能的HTTP和反向代理web服务器,使用c语言编写的一款web服务器软件。
Nginx在BSD-like协议下发行。它的特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
二、为什么使用nginx?
作用是
1、反向代理
2、负载均衡
3、动静分离
三、如何使用nginx
3.1安装nginx的依赖
1. yum install -y gcc-c++
2. yum install -y pcre pcre-devel
3. yum install -y zlib zlib-devel
4. yum install -y openssl openssl-devel3.2上传nginx安装包并解压
/usr/local/soft/
tar -zxvf 安装包名
3.3创建一个nginx的安装目录
mkdir /usr/nginx
3.4进入nginx的解压目录并指定安装到/usr/nginx
./configure --prefix=/usr/nginx
3.5安装
make 编译
make install 安装3.6启动nginx
1.进入nginx安装目录的sbin目录 /usr/nginx/sbin
2. ./nginx查看一下nginx 的进程
ps -ef | grep nginx
3.7浏览器访问nginx
GZY是我加的正常是没有的
四、介绍nginx的目录结构
conf: 配置文件。
html: 静态资源,
logs: 日志。如果你nginx启动失败。查看该日志
sbin: 启动脚本。
./nginx 启动
./nginx -s stop 关闭
./nginx -s reload 重新加载配置文件五、反向代理
1. 正向代理: 代理的为客户端,对于互联网服务器来说,不知道真实的客户地址。
2. 反向代理: 代理的为服务端,对于客户来说,不知道访问的到底是那台服务器。
(1)使用nginx如何完成反响代理
准备条件:
1. nginx---->192.168.2.169
2. web服务器--->192.168.2.140(2)在192.168.233.169修改nginx的配置
重新加载nginx的配置文件
(3)在192.168.2.140部署项目
java -jar 项目名
重新加载nginx的配置文件
(4)访问地址
六、负载均衡
准备:
1. nginx---192.168.2.169
2. 两台web应用服务器 【192.168.2.214 192.168.2.155】(1)在214和155部署并启动web服务器
(2)修改169nginx的配置内容
upstream 集群
gzy 自定义的集群名称
server 后是服务器地址 (一定要写正确)
这样正常访问192.168.2.169时候会访问到214和155部署的项目
最后就是权重
在服务器地址后加上 weight= 值越大访问频率越高
-
Nginx web服务器部署
2021-12-02 12:59:32简介 轻量级web服务器 官网nginx.org 下载页面 http://nginx.org/en/download.html 主线版本,稳定版本,还有旧版本 我一般选择稳定版,windows ...启动nginx服务 start nginx 查看任务进程 tasklist /fi "imagename简介
轻量级web服务器
官网nginx.org
下载页面
http://nginx.org/en/download.html
主线版本,稳定版本,还有旧版本
我一般选择稳定版
,windows
下载以后建议解压到D盘,当然放哪里都可以的,只要你能找得着。
不要直接双击nginx.exe,
不要直接双击nginx.exe,
不要直接双击nginx.exe
Win+R 输入cmd
进入nginx目录
启动nginx服务
start nginx
查看任务进程
tasklist /fi "imagename eq nginx.exe"
修改配置文件
conf目录nginx.conf
文件,用记事本打开。#user nobody; #工作进程数,一般设置为cpu核心数 worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { #最大连接数,一般设置为cpu*2048 worker_connections 1024; } http { include mime.types; default_type application/octet-stream; #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' # '$status $body_bytes_sent "$http_referer" ' # '"$http_user_agent" "$http_x_forwarded_for"'; #access_log logs/access.log main; sendfile on; #tcp_nopush on; #keepalive_timeout 0; #客户端连接超时时间 keepalive_timeout 65; #gzip on; #当配置多个server节点时,默认server names的缓存区大小就不够了,需要手动设置大一点 server_names_hash_bucket_size 512; server { #站点监听端口 listen 80; #站点访问域名 server_name localhost; #编码格式 charset utf-8; #access_log logs/host.access.log main; #location用来匹配同一域名下多个URI的访问规则 #比如动态资源如何跳转,静态资源如何跳转等 #location后面跟着的/代表匹配规则 location / { #站点根目录,可以是相对路径,也可以是绝对路径 root html; #默认主页 index index.html index.htm; } #error_page 404 /404.html; #redirect server error pages to the static page /50x.html #error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } proxy the PHP scripts to Apache listening on 127.0.0.1:80 location ~ \.php$ { #转发后端站点地址,一般用于做软负载,轮询后端服务器 proxy_pass http://127.0.0.1; } pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 location ~ \.php$ { root html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { #拒绝请求,返回403,一般用于某些目录禁止访问 deny all; #允许请求 # allow all; } #重新定义或者添加发往后端服务器的请求头 add_header 'Access-Control-Allow-Origin' '*'; add_header 'Access-Control-Allow-Credentials' 'true'; add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type'; #给请求头中添加客户请求主机名 proxy_set_header Host $host; #给请求头中添加客户端IP proxy_set_header X-Real-IP $remote_addr; #将$remote_addr变量值添加在客户端“X-Forwarded-For”请求头的后面,并以逗号分隔。 如果客户端请求未携带“X-Forwarded-For”请求头,$proxy_add_x_forwarded_for变量值将与$remote_addr变量相同 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #给请求头中添加客户端的Cookie proxy_set_header Cookie $http_cookie; #将使用代理服务器的主域名和端口号来替换。如果端口是80,可以不加。 proxy_redirect off; #浏览器对 Cookie 有很多限制,如果 Cookie 的 Domain 部分与当前页面的 Domain 不匹配就无法写入。 #所以如果请求 A 域名,服务器 proxy_pass 到 B 域名,然后 B 服务器输出 Domian=B 的 Cookie,前端的页面依然停留在 A 域名上,于是浏览器就无法将 Cookie 写入。 #不仅是域名,浏览器对 Path 也有限制。我们经常会 proxy_pass 到目标服务器的某个 Path 下,不把这个 Path 暴露给浏览器。这时候如果目标服务器的 Cookie 写死了 Path 也会出现 Cookie 无法写入的问题。 #设置“Set-Cookie”响应头中的domain属性的替换文本,其值可以为一个字符串、正则表达式的模式或一个引用的变量转发后端服务器如果需要Cookie则需要将cookie domain也进行转换,否则前端域名与后端域名不一致cookie就会无法存取 #配置规则:proxy_cookie_domain serverDomain(后端服务器域) nginxDomain(nginx服务器域) proxy_cookie_domain localhost .testcaigou800.com; #取消当前配置级别的所有proxy_cookie_domain指令 #proxy_cookie_domain off; #与后端服务器建立连接的超时时间。一般不可能大于75秒; proxy_connect_timeout 30; } another virtual host using mix of IP-, name-, and port-based configuration server { listen 8000; listen weijun901.com:8080; server_name weijun901.com; location / { root html; index index.html index.htm; } } HTTPS server server { listen 443 ssl; server_name weijun901.com; #ssl秘钥文件地址 ssl_certificate cert.pem; ssl_certificate_key cert.key; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; location / { root html; index index.html index.htm; } } }
启动服务
start nginx
重新加载
nginx -s reload
之后打开浏览器就可以访问了,默认是80端口
关闭nginx服务
快速停止
nginx -s stop
完整有序的关闭
nginx -s quit
-
云服务器安装并配置nginx
2021-12-26 13:42:51所以我们需要给云服务器安装 web 服务器: 然后依次运行如下命令: make make install 至此 nginx 已安装完毕。 下面我们进入 nginx 然后将它开启: 至此,nginx 已开启。 现在回到浏览器,访问云... -
Windows安装Nginx服务-保姆级教程
2021-12-08 17:30:07本文详细讲解Windows上如何安装Nginx,默认Nginx解压到Windows上,只能通过CMD命令进入到Nginx所在目录,然后执行启动命令才能开启,过程十分繁琐,本文重点讲解了如何将Nginx注册成Windows服务,通过net start nginx... -
Docker搭建Web服务器Nginx
2022-03-29 21:57:30docker搭建Web服务器Nginx -
【流媒体服务】Web网站服务搭建(四):【1】下载安装Nginx网站服务
2021-12-12 17:18:17Nginx Web网站服务搭建 -
通过Nginx在一台服务器部署多个Web应用
2022-02-19 14:35:00通过Nginx在一台服务器部署多个Web应用 通过nginx的反向的代理,可以监听80(http)和443(https)两个默认端口,然后将这两个2个端口的请求映射到项目实际运行的端口上。 这里首先说明,通过一个nginx配置反向... -
教程 | 用安卓手机搭建 web 服务器(二)—— Nginx 安装配置
2018-07-04 16:47:59Nginx(“engine x”)是一款是由俄罗斯的程序设计师 Igor Sysoev 所开发高性能的 Web 和 反向代理服务器,也是一个 IMAP/POP3/SMTP 代理服务器。在高连接并发的情况下,Nginx是Apache服务器不错的替代品。 安装步骤... -
Linux 怎么查看判断web服务器安装的是Apache还是Nginx
2021-01-25 15:17:35终端输入curl -I http://127.0.0.1查看server字段的值就可以知道了. nginx的样子是这样: apache的样子是这样: -
docker搭建Nginx web服务器
2021-09-11 14:47:50Nginx是一个C语言开发的web服务器,可提供web服务,反向代理,负载均衡和http缓存功能。 1.拉取镜像:docker pull nginx:版本号 2.运行容器: docker run -d --name nginx -p 8080:80 nginx:版本号 3.挂载目录... -
Windows下安装Nginx
2022-01-13 19:15:01它也是一种轻量级的Web服务器,可以作为独立的服务器部署网站(类似Tomcat)。它高性能和低消耗内存的结构受到很多大公司青睐,如淘宝网站架设。。 安装步骤 1、下载Nginx 下载地址:... -
Windows环境利用nginx搭建web服务器
2019-04-17 14:17:13nginx官网下载地址:http://nginx.org/en/download.html ...解压完成后双击nginx.exe即可运行nginx 双击运行会有一个窗口一闪而过,如果在浏览器上输入ip能显示如下界面则表示nginx正常启动运... -
树莓派4B搭建轻量级Web服务器 (Nginx,sqlite,php)
2022-03-11 18:08:48树莓派,WEB服务器,轻量级,PHP,Nginx,sqlite -
Nginx高性能Web服务器实战教程PDF
2018-11-27 19:03:19网站 ...gt;> CiCi岛 ...Nginx是目前广受关注的高性能HTTP和反向代理服务器,具有简单灵活的配置和极高的执行效率。本书适合Linux运维方向的初学者,或具备某一类编程语言(C、PHP、Java)基础的人... -
如何把一个web应用部署到nginx轻量服务器上
2021-10-30 16:36:38如何把开发好的前端项目,部署到windows server 2012 R2 服务上,通过nginx -
centos 7下部署Nginx Web服务+Haproxy监控+Nfs共享
2021-11-22 11:43:34Nginx Haproxy Nfs -
修改Nginx web服务器默认目录
2019-05-17 09:10:32安装配置好nginx服务器后默认目录是/usr/local/nginx/html,如果想要更改默认的目录,需按以下步骤进行修改 假如修改的目录为/home/website/dist 1.在home文件夹里新增website文件夹 cd /home mkdir website cd ... -
Nginx(Web 代理服务器 概述,正反向代理,负载均衡,下载安装,配置,案例)
2022-01-24 08:34:38这里写目录标题Nginx概述什么是代理服务器正向代理反向代理负载均衡及调度算法负载均衡算法下载安装nginx配置文件一个案例: Nginx 概述 Nginx 是一款是由俄罗斯的程序设计师所开发高性能的 Web 和 反向代理服务器,... -
实战Nginx:取代Apache的高性能Web服务器 PDF电子书
2010-04-22 09:44:46第9章 Nginx的Web缓存服务与新浪网的开源NCACHE模块 9.1 什么是Web缓存? 9.2 Nginx的Web缓存服务 9.3 新浪网开源软件项目——基于Nginx的NCache网页缓存系统 第3部分 实战篇 第10章 Nginx在国内知名... -
Web服务器群集——Nginx企业级优化
2021-03-24 11:46:40Nginx企业级优化Nginx企业级优化配置Nginx隐藏版本号修改用户及组设置网页缓存时间Nginx的日志切割配置Nginx实现连接超时更改Nginx运行进程数配置Nginx实现网页压缩功能配置Nginx实现防盗链对FPM模块进行参数优化 ... -
Centos7 安装nginx以及搭建基于nginx的本地yum服务器
2019-08-28 15:05:211.安装nginx 我尝试了两个下载nginx的途径,第一个是源码编译安装(推荐,性能稳定),但是写systemctl 脚本时失败了(已解决),于是我懒得再配,删掉直接yum了,yum后自带systemctl脚本,可以轻松的开启关闭 1.1 ... -
基于Centos7+keepalived+nginx+tomcat构建可用web服务器集群
2022-01-19 13:58:09目录 一、Centos7 1、安装一台全新的虚拟机 2、安装操作系统 3、虚拟网络编辑 4、ens33中不显示ip问题处理...3、搭建nginx服务 3.1安装环境 3.2解压压缩包 3.3进行编译和安装 3.4删除安装包和压缩包 3.5启动n -
3分钟搞懂阿里云服务器安装Nginx并配置静态访问页面
2022-03-29 13:59:473分钟搞懂阿里云服务器安装Nginx,并配置访问静态页面! -
LINUX C++服务器第一章,NGINX安装以及运用
2021-12-29 18:04:36nginx是高性能的HTTP和反向代理的WEB服务器,是俄国人用纯C写的代码,可以跨平台,现在几乎大公司都在使用,在同类产品中可以拍第二。 下面在LINUX Ubuntu下安装nginx,nginx实际就是一个源码包,nginx官网 ... -
Linux 源码包安装 Nginx
2022-03-10 17:18:05Nginx(“engine x”)是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。 Nginx 安装 系统平台:CentOS 64位。 一、安装编译工具及库文件 yum -y ... -
Nginx 市场份额全球第一,10月全球Web服务器调查报告出炉!
2021-10-19 13:47:25据悉,Netcraft 是一家总部位于英国巴斯始于 1995 年的互联网服务公司,该公司发布的全球 Web 服务器调查报告每月更新一次,该报告已经成为人们了解全球网站数量以及各种服务器市场分额等情况的主要依据。... -
debian安装nginx_如何在Debian 10上安装Nginx
2020-08-11 22:15:40debian安装nginx 介绍 (Introduction) Nginx is one of the most popular web servers in the world and responsible for hosting some of the largest and highest-traffic sites on the internet. It is more ...