一键安装服务器中的超跑Nginx!让网站性能起飞,不花冤枉钱!

简介: 学委之前写过 Docker玩腻了,不妨试试用Vagrant 和 Vagrant使用笔记

最近Nginx很火(这玩意很多年了),学委16年就开始用了,这里总结准备了一键安装的方法,送给大家,学会不用花冤枉钱买更多强劲服务器了!


跟着一步一步学习一下,文末有一键安装的技巧(自动帮你源码编译!)


Nginx 是什么

它是一个轻量级的高性能的 Web 服务器 / 反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。


反正是一个好东西来着,“服务器中的超跑”值得耐心学习一下!主要是性能强,做个简单站点不用花太多钱买更高配置。


小白不太清楚作用,可以把它当做一个很牛的服务器软件!我们可以在这个服务器软件内放置自己制作的漂亮页面。


这里展示安装重点,然后学委最后会修改一下页面,一起看看吧。


安装 - 源码编译安装Nginx

下面是亲测可用的脚本(早在几年前就放在学委的Github上了,现在运行还是完美的!)


保存代码为leixuewei.sh, 并在CentOS7运行。


systemctl stop firewalld.service
#use alibaba yum repo
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup`date '+%Y%m%d_%H%M%S'` 
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
#get netstat
yum -y install net-tools
yum -y vim
#get deps to compile python modules
yum -y install gcc automake autoconf libtool make
yum -y install gcc
yum -y install gcc-c++
mkdir /toolings/xuewei
cp /tmp/*.tar.gz /toolings/xuewei
cd /toolings/xuewei
nginx=/toolings/xuewei/nginx/nginx
#for url rewrite
if [ ! -e pcre.tar.gz ] ; then curl -k https://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz -o pcre.tar.gz ; fi
tar -zxvf pcre.tar.gz
if [ ! -e $nginx ] ; then cd pcre-8.34 && ./configure && make && make install ; fi
cd /toolings/xuewei
if [ ! -e zlib.tar.gz ] ; then curl -k https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz -o zlib.tar.gz ; fi
tar -zxvf zlib.tar.gz
if [ ! -e $nginx ] ; then cd zlib-1.2.11/ && ./configure && make && make install ; fi
cd /toolings/xuewei
if [ ! -e openssl.tar.gz ] ; then curl -k https://www.openssl.org/source/openssl-1.0.1t.tar.gz -o openssl.tar.gz ; fi
tar -zxvf openssl.tar.gz
cd openssl-1.0.1t/
./config shared zlib  --prefix=/toolings/xuewei/openssl 
if [ ! -e $nginx ] ; then make && make install ; fi
cd /toolings/xuewei
if [ ! -e nginx.tar.gz ] ; then curl http://nginx.org/download/nginx-1.4.2.tar.gz -o nginx.tar.gz ; fi
tar -zxvf nginx.tar.gz
cd nginx-1.4.2/
./configure --sbin-path=/toolings/xuewei/nginx/nginx \
--conf-path=/toolings/xuewei/nginx/nginx.conf \
--pid-path=/toolings/xuewei/nginx/nginx.pid \
--with-http_ssl_module \
--with-pcre=/toolings/xuewei/pcre-8.34 \
--with-zlib=/toolings/xuewei/zlib-1.2.11 \
--with-openssl=/toolings/xuewei/openssl-1.0.1t
if [ ! -e $nginx ] ; then make && make install ; fi
ln -s $nginx /usr/bin/nginx
cd /toolings/xuewei/nginx && ls -rtla
#netstat -ano|grep 80
netstat -tulnp|grep 80
cd / && nohup /toolings/xuewei/nginx/nginx &
netstat -tulnp|grep 80|egrep -v '80[0-9]+'
echo "[雷学委温馨提示] nginx is started"

代码解析:

上面的代码主要分为3步

  1. 检查是否需要,否则下载依赖软件
  2. 一个一个编译依赖软件
  3. 编译安装nginx然后启动

这就启动了一个Web服务器了,上面的脚本跑完效果如下:

image.png

一键安装

上的代码需要配置一台Linux虚拟机或者有一台Linux服务器,比较麻烦。


所以创建一个目录放置Vagrantfile,然后跑vagrant up启动完事。


具体操作如下,完成一次操作以后都能反复用。


创建一个目录里面放置Vagrantfile

所以学委准备了下面的Vagrantfie。


Vagrant.configure("2") do |config|
  config.vm.box = "centos/7"
  config.vm.box_check_update = false
  config.vm.provider "virtualbox"
  $num_vms = 1
  (1..$num_vms).each do |id|
    config.vm.define "nginxbox#{id}" do |node|
      node.vm.hostname = "nginxbox#{id}"
      #node.vm.network :private_network, ip: "10.64.4.#{id}",  auto_config: true
      config.vm.network "forwarded_port", guest: 80, host: 80, auto_correct: true # nginx  
      node.vm.provider :virtualbox do |vb, override|
        vb.name = "雷学委Demo的Nginxbox#{id}"
        vb.gui = false
        vb.memory = 2048
        vb.cpus = 1
      end
      config.vm.provision "shell", path: "leixuewei.sh"
    end
  end
end

然后打开终端运行vagrant up

这样就一键启动安装Nginx了, 做成的虚拟机还能分享给其他人呢。


其他操作(非必要操作)

如果想要加快安装的朋友,需要学习更多Vagrant知识-> Vagrant使用笔记,然后把下面的内容加到Vagrantfile。并跟着下载软件包。


      config.vm.provision "file", source: "lib/nginx-1.4.2.tar.gz", destination: "/tmp/nginx.tar.gz"
      config.vm.provision "file", source: "lib/openssl-1.0.1t.tar.gz", destination: "/tmp/openssl.tar.gz"
      config.vm.provision "file", source: "lib/pcre-8.34.tar.gz", destination: "/tmp/pcre.tar.gz"
      config.vm.provision "file", source: "lib/zlib-1.2.11.tar.gz", destination: "/tmp/zlib.tar.gz"
      config.vm.provision "file", source: "nginx.conf", destination: "/tmp/nginx.conf"

读者可以先去下载相关依赖


https://nchc.dl.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz

https://www.openssl.org/source/openssl-1.0.1t.tar.gz

https://jaist.dl.sourceforge.net/project/pcre/pcre/8.34/pcre-8.34.tar.gz

http://nginx.org/download/nginx-1.4.2.tar.gz


非必选,下载上面的包放到当前目录的lib下面。


学点原理,然后定制页面试试

默认安装nginx内部如何运作?

nginx通过读取/toolings/xuewei/nginx/nginx.conf文件,加载内部的server模块。

server模块内监听了80端口,同时影射了网站到当前目录的html文件夹(也就是/toolings/xuewei/nginx/html目录),加载里面的静态文件。


好了,就知道这么多就够了。


我们进入虚拟机(Linux主机)内的/toolings/xuewei/nginx/html目录,找到下面的index.html. 改一下标题和欢迎内容为中文,如下:


image.png

改掉主要是:

  • 修改title标签块,标题加了’[雷学委]’
  • 修改body内的h1标签块的文本改为:欢迎使用Nginx

保存刷新浏览器页面,改动马上生效哦!因为是Nginx是直接加载html目录的静态资源的。


image.png

重点来了:怎么把默认网站成个人站点

很好办,把个人网页打包解压到上面的html目录,覆盖里面的文件包括index.html。


Nginx很轻量还支持大并发(单台万级并发),网站加载速度直接起飞!当然,除非别人也是Nginx。


就分享这么多,先用起来。


如果是有动态网站的,把静态内容直接nginx处理,动态的交给像tomcat这种,性能至少翻倍提高,懂了吧!这个后面会细讲。


目录
相关文章
|
4天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
Node.js 是一种高效的 JavaScript 运行环境,基于 Chrome V8 引擎,支持在服务器端运行 JavaScript 代码。本文介绍如何在阿里云上一键部署 Node.js 环境,无需繁琐配置,轻松上手。前提条件包括 ECS 实例运行中且操作系统为 CentOS、Ubuntu 等。功能特点为一键安装和稳定性好,支持常用 LTS 版本。安装步骤简单:登录阿里云控制台,选择扩展程序管理页面,安装 Node.js 扩展,选择实例和版本,等待创建完成并验证安装成功。通过阿里云的公共扩展,初学者和经验丰富的开发者都能快速进入开发状态,开启高效开发之旅。
|
1月前
|
弹性计算 Ubuntu Linux
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS
阿里云服务器一键安装Docker社区版教程,基于系统运维管理OOS自动化部署。支持Ubuntu 22.04/20.04、CentOS 7.7-7.9及Alibaba Cloud Linux 3.2104 LTS。前提条件:ECS实例需运行中且有公网。步骤:选择Docker扩展并安装,验证成功通过命令`docker -v`查看版本号。
291 79
|
6天前
|
弹性计算 JavaScript 前端开发
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
一键安装!阿里云新功能部署Nodejs环境到ECS竟然如此简单!
|
2月前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
272 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
3月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
218 61
|
2月前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
181 13
|
2月前
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
205 9
|
2月前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
257 1
|
应用服务中间件 nginx
Nginx服务器的反向代理proxy_pass配置方法讲解
 Nginx服务器的反向代理proxy_pass配置方法讲解 这篇文章主要介绍了Nginx服务器的反向代理proxy_pass配置方法讲解,包括经常被提到的url的/问题的相关说明,需要的朋友可以参考下 就普...
5183 0
|
应用服务中间件 nginx
nginx服务器的反向代理proxy_pass配置方法
nginx服务器的反向代理proxy_pass配置方法
383 0

热门文章

最新文章