CMZENO

请叫我季诺
Call Me ZENO (CMZENO) | 季诺的话匣子
服务器

Proxmox VE同时配置NAT共享IP和独立IP虚拟机

本文内容 配置桥接网卡,使Proxmox VE(PVE)可以同时创建NAT虚拟机和独立IP虚拟机,同时可以使用脚本映射NAT虚拟机的端口到外网 前言 有台5IP的机器,虽然配置不怎么样,但是也开了不少虚拟机,可用的4个IP挪来挪去着实不够用,遂产生了开NAT虚拟机的想法。 但是能开NAT虚拟机的同时,独立IP的机器也要能开通,毕竟有些服务转发起来也蛮麻烦的。 请教了一下谷姓同学,鼓捣了一下,测试可行,作为备忘,记录如下: 方法 1、桥接网卡配置 编辑网卡文件 nano /etc/network/interfaces 内容如下: # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* auto lo iface lo inet loopback allow-hotplug enp4s0 iface enp4s0 inet manual auto vmbr0 iface vmbr0 inet static address 111.1.11.130 netmask 255.255.255.248 gateway 111.1.11.129 bridge-ports enp4s0 bridge-stp off bridge-fd 0 auto vmbr1 iface vmbr1 inet static address 192.168.1.1 netmask 255.255.255.0 bridge_ports none bridge_stp off bridge_fd 0 post-up echo 1 > /proc/sys/net/ipv4/ip_forward post-up bash /root/iptables.config.sh post-up iptables -t nat -A POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE post-down iptables -t nat -D POSTROUTING -s '192.168.1.0/24' -o vmbr0 -j MASQUERADE 物理机的网卡名为enp4s0,vmbr0为独立IP虚拟机的桥接网卡,自行修改为正确的信息;vmbr1为NAT虚拟机的桥接网卡,可以使用192.168.1.2-255这些内网IP。 2、新建虚拟机 开通独立IP虚拟机的时候桥接网卡选择vmbr0,NAT虚拟机选择vmbr1,如图所示 安装完成后,配置网卡信息,IP地址配置为内网IP地址,如图所示 配置完成后测试,使用Proxmox VNC功能登录虚拟机,测试可以正常联网 3、NAT转发 很多时候,NAT虚拟机单单能连接外部网络是不够的,还需要外部网络能够访问到虚拟机内部的服务,比如ssh,rdp等。 端口映射可以使用iptables来完整,已经有大佬写了方便的脚本,点我下载 脚本内容: iptables.sh #! /bin/bash PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin export PATH #ConfFile iptablesconf='/root/iptables.config.sh' function rootness(){ if [[ $EUID -ne 0 ]]; then echo "脚本需要以ROOT权限运行!" exit 1 fi } function conf_list(){ cat $iptablesconf } function conf_add(){ if [ ! -f $iptablesconf ];then echo "找不到配置文件!" exit 1 fi echo "请输入虚拟机的内网IP" read -p "(Default: Exit):" confvmip [ -z "$confvmip" ] && exit 1 echo echo "虚拟机内网IP = $confvmip" echo while true do echo "请输入虚拟机的端口:" read -p "(默认端口: 22):" confvmport [ -z "$confvmport" ] && confvmport="22" expr $confvmport + 0 &>/dev/null if [ $? -eq 0 ]; then if [ $confvmport -ge 1 ] && [ $confvmport -le 65535 ]; then echo echo "虚拟机端口 = $confvmport" echo break else echo "输入错误,端口范围应为1-65535!" fi else echo "输入错误,端口范围应为1-65535!" fi done echo while true do echo "请输入宿主机的端口" read -p "(默认端口: 8899):" natconfport [ -z "$natconfport" ] && natconfport="8899"…

2023年1月30日 0comments 186hotness 0likes zeno Read all
服务器

宝塔Nginx环境安装pagespeed模块加速网站以及配置WebP格式图片加速方法

一、说明 本文内容:宝塔面板下为nginx安装ngx_pagespeed模块并配置WebP图片加速的方法,理论上非宝塔环境也适用,加模块使用命令行进行编译即可 二、前言 博客文章的图片太多,总觉得加载慢,服务器带宽和线路不能动的前提下,只能考虑对图片进行优化了。查了一下,发现WebP格式的图片很有优势,主流的浏览器也支持,遂有了本文。 三、铺垫 WebP是一种同时提供了有损压缩与无损压缩的图片文件格式,目标是减少文件大小,但达到和JPEG格式相同的图片质量,理论上能够在很大程度上缩小图片文件的大小,以节省服务器带宽,减少传输时间。 Ngx-pagespeed是一个免费的开源Nginx模块,可用于加快网站速度并减少页面加载时间。它可以在无需修改网站内容的前提下,对网站进行优化。使用者可以使用Ngx-pagespeed模块轻松优化各种文件,例如CSS,HTML,png和jpg,它可以自动将图片文件转换成WebP格式来呈现给访客,这个是我目前最需要的。 服务器环境 Centos7 已安装 宝塔面板 PHP7.2 四、开始干活 1.安装依赖 yum install gcc cmake unzip wget gcc-c++ pcre-devel zlib-devel -y 2.下载ngx_pagespeed wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.tar.gz tar -xvzf v1.13.35.2-stable.tar.gz #解压文件 这里下载的是文章发布时最新的稳定版,如果想要最新的版本可以访问 https://github.com/apache/incubator-pagespeed-ngx/releases 3.下载PageSpeed优化库 cd incubator-pagespeed-ngx-1.13.35.2-stable #进入刚刚解压的文件夹 wget https://dl.google.com/dl/page-speed/psol/1.13.35.2-x64.tar.gz #下载最新版的优化库 tar -xvzf 1.13.35.2-x64.tar.gz #解压优化库 4.编译模块 进入宝塔面板,按照图片的顺序编译安装nginx,如图所示 点击添加自定义模块,自定义模块的名称和描述可以随便写 模块参数填写格式如下: --add-module=/root/incubator-pagespeed-ngx-1.13.35.2-stable 其中,/root/incubator-pagespeed-ngx-1.13.35.2-stable是下载的ngx_pagespeed模块的位置 如图所示 提交之后,记得勾选添加的自定义模块,然后提交编译,如图所示 5.配置和开启ngx_pagespeed模块 编译安装成功后,可以在命令行中输入 nginx -V 查看是否编译成功,如图红线位置,可以看到ngx_pagespeed已经安装成功 这时需要开启模块,进入“网站”,然后选择要开启模块的域名,点击域名旁边的设置,如图所示,将配置内容输入到红线下方的位置 配置内容如下,可以自行调整 ####基本设置###### pagespeed on; pagespeed FileCachePath /var/ngx_pagespeed_cache; # 禁用CoreFilters pagespeed RewriteLevel PassThrough; # 启用压缩空白过滤器 pagespeed EnableFilters collapse_whitespace; # 启用JavaScript库卸载 pagespeed EnableFilters canonicalize_javascript_libraries; # 把多个CSS文件合并成一个CSS文件 pagespeed EnableFilters combine_css; # 把多个JavaScript文件合并成一个JavaScript文件 pagespeed EnableFilters combine_javascript; # 删除带默认属性的标签 pagespeed EnableFilters elide_attributes; # 改善资源的可缓存性 pagespeed EnableFilters extend_cache; # 更换被导入文件的@import,精简CSS文件 pagespeed EnableFilters flatten_css_imports; pagespeed CssFlattenMaxBytes 5120; # 延时加载客户端看不见的图片 pagespeed EnableFilters lazyload_images; # 启用JavaScript缩小机制 pagespeed EnableFilters rewrite_javascript; # 预解析DNS查询 pagespeed EnableFilters insert_dns_prefetch; # 重写CSS,首先加载渲染页面的CSS规则 pagespeed EnableFilters prioritize_critical_css; # Example 禁止pagespeed 处理/wp-admin/目录(可选配置,可参考使用) pagespeed Disallow "*/wp-admin/*"; #######图片处理配置######## # 延时加载图片 pagespeed EnableFilters lazyload_images; # 不加载显示区域以外的图片 pagespeed LazyloadImagesAfterOnload off; pagespeed LazyloadImagesBlankUrl "https://www.cmzeno.com/xxx.png"; # 启用图片优化机制(主要是 inline_images, recompress_images, convert_to_webp_lossless(这个命令会把PNG和静态Gif图片转化为webp), and resize_images.) pagespeed EnableFilters rewrite_images; #组合 convert_gif_to_png, convert_jpeg_to_progressive, convert_jpeg_to_webp, convert_png_to_jpeg, jpeg_subsampling, recompress_jpeg, recompress_png, recompress_webp, #strip_image_color_profile, and strip_image_meta_data. pagespeed EnableFilters recompress_images; # 将JPEG图片转化为webp格式 pagespeed EnableFilters convert_jpeg_to_webp; # 将动画Gif图片转化为动画webp格式 pagespeed EnableFilters convert_to_webp_animated; # 图片预加载 pagespeed EnableFilters inline_preview_images; # 移动端图片自适应重置 pagespeed EnableFilters resize_mobile_images; pagespeed EnableFilters responsive_images,resize_images; pagespeed EnableFilters insert_image_dimensions; pagespeed EnableFilters resize_rendered_image_dimensions; pagespeed EnableFilters strip_image_meta_data; pagespeed EnableFilters convert_jpeg_to_webp,convert_to_webp_lossless,convert_to_webp_animated; pagespeed EnableFilters sprite_images; pagespeed EnableFilters convert_png_to_jpeg,convert_jpeg_to_webp; # 让JS里引用的图片也加入优化 pagespeed InPlaceResourceOptimization on; pagespeed EnableFilters in_place_optimize_for_browser; location ~ "\.pagespeed\.([a-z]\.)?[a-z]{2}\.[^.]{10}\.[^.]+" { add_header "" ""; } location ~ "^/ngx_pagespeed_static/" { } location ~ "^/ngx_pagespeed_beacon" { } 更多配置请参考 https://www.modpagespeed.com/doc/configuration 保存,重启nginx,在命令行输入 curl -I -p http://www.cmzeno.com 请将 http://www.cmzeno.com 替换成你的域名,如图红线,我们可以看到,模块已经开启成功了 五、查看效果 演示站为wordpress博客程序,以默认主题的背景图片为例子,可以看到,在开启前,如图所示,图片是jpg格式 在开启后,图片被自动转换为了WebP格式 转换前图片大小为115KB,转换后变成了58KB,缩小了几乎一半的体积,效果还是很好的 我肉眼看不出啥变化,另外我在每次截图保存之后,图片都会丢到tinypng压缩一下,尽可能的缩小图片体积。 六、参考 https://www.howtoforge.com/tutorial/install-nginx-with-ngx-pagespeed-on-centos-7/ https://blog.csdn.net/cslxydn/article/details/98958841 https://www.modpagespeed.com/doc/configuration

2023年1月30日 0comments 277hotness 1likes zeno Read all
服务器

Hello world!

Welcome to WordPress. This is your first post. Edit or delete it, then start writing!

2023年1月30日 1comments 90hotness 0likes zeno Read all

zeno

This person is a lazy dog and has left nothing

近期评论
Avatar photo
A WordPress Commenter Published at 2 months ago(01 01202313112 30 30am23) Hi, this is a comment. To get started with moderat...

COPYRIGHT © 2023 CMZENO. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang