一键安装服务器中的超跑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这种,性能至少翻倍提高,懂了吧!这个后面会细讲。


目录
相关文章
|
14天前
|
存储 缓存 运维
阿里云服务器经济型e与通用算力型u1实例各自性能、适用场景区别及选择参考
在选择阿里云服务器实例规格时,经济型e实例和通用算力型u1实例因其高性价比和广泛适用性,备受个人开发者、中小企业的青睐。在同地域、相同配置的情况下,经济型e和通用算力型u1实例的价格相对于其他实例规格要低一些,很多个人和初创企业用户都会优先考虑选择这两个实例规格的云服务器,那么它们之间有什么区别?各自的性能、适用场景上有何区别?我们应该如何选择呢?本文将详细解析这两款实例的性能特点、适用场景、价格优势及购买建议,帮助用户更好地理解并选择合适的云服务器实例。
|
13天前
|
存储 人工智能 自然语言处理
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
ChatMCP 是一款基于模型上下文协议(MCP)的 AI 聊天客户端,支持多语言和自动化安装。它能够与多种大型语言模型(LLM)如 OpenAI、Claude 和 OLLama 等进行交互,具备自动化安装 MCP 服务器、SSE 传输支持、自动选择服务器、聊天记录管理等功能。
85 15
ChatMCP:基于 MCP 协议开发的 AI 聊天客户端,支持多语言和自动化安装 MCP 服务器
|
6天前
|
负载均衡 Ubuntu 应用服务中间件
nginx修改网站默认根目录及发布(linux、centos、ubuntu)openEuler软件源repo站点
通过合理配置 Nginx,我们可以高效地管理和发布软件源,为用户提供稳定可靠的服务。
37 13
|
6天前
|
存储 分布式计算 安全
阿里云服务器经济型、通用算力型、计算型、通用型各主要实例性能、适用场景对比
在阿里云目前的活动中,云服务器实例规格有几大类,分别是轻量应用服务器、经济型e实例、通用算力型u1实例,第七代计算型c7、通用型g7、内存型r7实例,第八代计算型c8i、通用型g8i、内存型r8i实例,倚天云服务器实例计算型c8y、通用型g8y、内存型r8y实例,不同类型的实例规格,性能和适用场景不同,本文将这些热门实例规格的性能和适用场景全部展示出来,以供大家做对比和选择参考,从而选择出适合自己需求的云服务器实例规格。
|
7天前
|
存储 缓存 安全
阿里云服务器通用算力型u1实例怎么样?实例性能与测评结果参考
本文将通过性能评测、适用场景、特点介绍、实测数据分享以及最新活动价格等多个方面,全方位解析这款云服务器实例,以供用户了解和参考。
|
11天前
|
弹性计算 负载均衡 网络协议
ECS中实现nginx4层7层负载均衡和ALB/NLB原SLB负载均衡
通过本文的介绍,希望您能深入理解并掌握如何在ECS中实现Nginx四层和七层负载均衡,以及如何使用ALB和NLB进行高效的负载均衡配置,以提高系统的性能和可靠性。
54 9
|
24天前
|
存储 编解码 应用服务中间件
使用Nginx搭建流媒体服务器
本文介绍了流媒体服务器的特性及各种流媒体传输协议的适用场景,并详细阐述了使用 nginx-http-flv-module 扩展Nginx作为流媒体服务器的详细步骤,并提供了在VLC,flv.js,hls.js下的流媒体拉流播放示例。
110 1
|
1月前
|
缓存 Ubuntu Linux
Linux环境下测试服务器的DDR5内存性能
通过使用 `memtester`和 `sysbench`等工具,可以有效地测试Linux环境下服务器的DDR5内存性能。这些工具不仅可以评估内存的读写速度,还可以检测内存中的潜在问题,帮助确保系统的稳定性和性能。通过合理配置和使用这些工具,系统管理员可以深入了解服务器内存的性能状况,为系统优化提供数据支持。
38 4
|
1月前
|
存储 机器学习/深度学习 编解码
阿里云服务器计算型c8i实例解析:实例规格性能及使用场景和最新价格参考
计算型c8i实例作为阿里云服务器家族中的重要成员,以其卓越的计算性能、稳定的算力输出、强劲的I/O引擎以及芯片级的安全加固,广泛适用于机器学习推理、数据分析、批量计算、视频编码、游戏服务器前端、高性能科学和工程应用以及Web前端服务器等多种场景。本文将全面介绍阿里云服务器计算型c8i实例,从规格族特性、适用场景、详细规格指标、性能优势、实际应用案例,到最新的活动价格,以供大家参考。
|
1月前
|
负载均衡 监控 应用服务中间件
配置Nginx反向代理时如何指定后端服务器的权重?
配置Nginx反向代理时如何指定后端服务器的权重?
63 4