ArchLinux Proxy设置:优化网络连接速度 (archlinux proxy 设置)

ArchLinux是一个轻量级的Linux发行版,以简洁、灵活和高度可定制性著称。尽管使用ArchLinux会有很多优点,但是如果你使用的是一个带有无法访问的网站或应用程序,那么你就需要设置代理服务器,以确保你的系统可以通过代理服务器来访问这些应用程序或网站。在本文中,我们将讨论如何在ArchLinux上设置代理,以优化网络连接速度。

什么是代理服务器?

代理服务器是一种网络服务器,可以作为客户端计算机与Internet资源之间的中间人。它接收客户端计算机请求,然后转发请求到Internet资源。因此,客户端计算机看起来好像是直接与Internet资源通信,但实际上是通过代理服务器来完成的。使用代理服务器的一个显著优点是可以提高安全性并优化网络连接速度。

为什么需要使用代理服务器?

1.访问被限制的网站

许多地区限制了对特定网站的访问,有时甚至会限制对特定类型的应用程序的访问。在这种情况下,使用代理服务器可以解决这些限制,尚且保护了您的隐私。

2.提高安全性

代理服务器还可以作为安全墙的一种形式来防止网络攻击,例如黑客攻击和病毒攻击。它可以通过过滤流量从而防范对您的计算机的攻击。

3.优化网络连接速度

代理服务器可以缓存常用的网页,从而提高浏览速度,同时还可以最小化带宽使用,并且为您节省宝贵的上网时间。

如何为ArchLinux设置代理?

在ArchLinux中设置代理服务器需要以下步骤:

1.打开终端

2.在终端中输入以下命令:

$ sudo nano /etc/profile

3.找到profile文件中的以下两行:

export http_proxy = “”

export https_proxy = “”

4.在double quotes内添加您的代理服务器的IP地址和端口号,如下所示:

export http_proxy = “http://192.168.0.1:8080”

export https_proxy = “http://192.168.0.1:8080”

5.保存并退出nano

6.根据您的网络设置,修改HTTP_PROXY和HTTPS_PROXY环境变量,打开新的终端,并输入以下命令来应用更改:

$ source /etc/profile

7.完成后,您应该能够通过代理服务器访问受限制的网站和应用程序,同时您的网络连接速度应该有所提高。

ArchLinux是一款出色的Linux发行版,具有简约、灵活和高可定制性的特点。如果您使用ArchLinux遇到无法访问的网站或应用程序,那么您可以通过设置代理服务器来解决这些问题并优化您的网络连接速度。通过本文,您现在应该知道如何在ArchLinux中设置代理服务器,以及代理服务器的优点以及为什么使用代理服务器对于您的计算机的安全性很重要。开始享受更优化、更安全的网络体验吧!

相关问题拓展阅读:

从刚刚「简书」平台的短暂异常,谈Nginx An error occurred报错~

An error occurred.

Sorry, the page you are looking for is currently unavailable.

Please try again later.

If you are the system administrator of this resource then you should check theerror log for details.

Faithfully yours, nginx.

如上,刚老徐正打算上平台,写文章,出现如上错误,应该持续了几分钟~不知道有多少用户有感知,平台响应还不错,几分钟后已恢复正常~

一般nginx的此类报错,原因如下(当然,老徐对nginx了解不深,如下都是一些可能原因)

出现问题,首先是去分析nginx的日志,得到一些线索~

可能的常见原因:

/ 1 /

很明显这是一个nginx的错误,查看nginx.conf的文件过程中分析可能是以下行族的问题,在nginx.xml中胡带闷有如下配置:

标红的部分是很大的嫌疑,恰好应用中在提交数据的一瞬间和服务器有多次交互,这些交互都要过nginx。再加上用户IP来做key,假如多个用户访问在网上的最后一跳是同一个路由器,很显然会被服务器当成是一台电脑,从而出现判断错误。那么又一个新问题来了,出现503错误后为啥返回的是那个错误页面呢?

带着这个问题在nginx.conf中又发现了一段配置,如下图:

这个配置的意思是当出现500、502、503、504的错误时返回50x.html页面,这个页面在nginx安装目录的html文件夹下,内容如下:

这个页面经过浏览器解析就是开头之一幅图的样子。

分析到这裤弯里,就大概估计出原因了,把之前的rate值该大一点即可。那么到底改多大?这个要根据不同的业务而定,甚至去掉这个配置,所以这个是个经验值,通过多次试验可以得到一个相对于应用合理的值,这里就不说了。

实际nginx出现这个错误原因应该有很多,这里提供一种可能原因,以供网友参考。

/ 2 /

日志记录中HTTP状态码出现499错误有多种情况,我遇到的一种情况是nginx反代到一个永远打不开的后端,就这样了,日志状态记录是499、发送字节数是0。

老是有用户反映网站系统时好时坏,因为线上的产品很长时间没有修改,所以前端程序的问题基本上可以排除,于是就想着是Get方式调用的接口不稳定,问了相关人员,说没有问题,为了拿到确切证据,于是我问相关人员要了nginx服务器的日志文件(awstats日志),分析后发现日志中很多错误码为499的错误,约占整个日志文件的1%,而它只占全部报错的70%左右(全部报错见下图),那么所有报错加起来就要超过1%了,这个量还是特别大的。

499错误是什么?让我们看看NGINX的源码中的定义:

ngx_string(ngx_http_error_495_page), /* 495, https certificate error */

ngx_string(ngx_http_error_496_page), /* 496, https no certificate */

ngx_string(ngx_http_error_497_page), /* 497, http to https */

ngx_string(ngx_http_error_404_page), /* 498, canceled */

ngx_null_string,      /* 499, client has closed connection */

可以看到,499对应的是 “client has closed connection”。这很有可能是因为服务器端处理的时间过长,客户端“不耐烦”了。

Nginx 499错误的原因及解决方法

打开Nginx的access.log发现在最后一次的提交是出现了HTTP1.这样的错误,在百度搜索nginx 499错误,结果都是说客户端主动断开了连接。

但经过我的测试这显然不是客户端的问题,因为使用端口+IP直接访问后端服务器不存在此问题,后来测试nginx发现如果两次提交post过快就会出现499的情况,看来是nginx认为是不安全的连接,主动拒绝了客户端的连接.

但搜索相关问题一直找不到解决方法,最后终于在google上搜索到一英文论坛上有关于此错误的解决方法:

proxy_ignore_client_abort on;

Don’t know if this is safe.

就是说要配置参数 proxy_ignore_client_abort on;

表示代理服务端不要主要主动关闭客户端连接。

以此配置重启nginx,问题果然得到解决。只是安全方面稍有欠缺,但比总是出现找不到服务器好多了。

还有一种原因是 我后来测试发现 确实是客户端关闭了连接,或者说连接超时 ,无论你设置多少超时时间多没用 原来是php进程不够用了 改善一下php进程数 问题解决

/ 3 /

今天网站突然出现如下错误:

The page you are looking for is temporarily unavailable.Please try again later.

很奇怪,我对服务器端的技术不是很熟悉,于是查询了下google,在

上面的解决方法:

Error: The page you are looking for is temporarily unavailable. Please try again later.

This is because the FastCGI server has not been started.

如何解决呢?

刚开始我怀疑是不是nginx挂了,我首先通过 ps aux | grep nginx ,结果出现:

root.0  0. ?Ss   Apr21   0:00 nginx: master process /usr/local/nginx/in/nginx

www.0  0. ?S    Apr21   0:03 nginx: worker process

www.0  0. ?S    Apr21   0:03 nginx: worker process

www.0  0. ?S    Apr21   0:03 nginx: worker process

www.0  0. ?S    Apr21   0:03 nginx: worker process

www.0  0. ?S    Apr21   0:03 nginx: worker process

www.0  0. ?S    Apr21   0:03 nginx: worker process

www.0  0. ?S    Apr21   0:02 nginx: worker process

root.0  0. pts/1    S+   14:33   0:00 grep nginx

可见nginx是正常的,本来打算重启nginx的:

/usr/local/nginx/in/nginx -t -c /usr/local/nginx/conf/nginx.conf的,

突然觉得有没有其他方法,有同事提示先在一个目录下运行下test.html和test.php,结果html可以运行,php无法运行。

证实是php没有启动,我刚才也检测过php的进程,的确是没有php进程,这台服务器我不熟悉,同事帮忙查看了下

cd /etc/init.d,就是web管理员经常看的地方,是随着系统自动启动的服务,程序等。可以看看:

的《 说说? /etc/rc.d/rc.local 》

找到:

/usr/local/php/in/php-fpm start,首先什么是php-fpm呢?

就是FastCGI Process Manager,是一种可选的PHP FastGCI执行模式,有一点很有特点的应用,尤其是一个繁忙的网站中:

(1)可适应的进行再生(NEW!)

(2)基本的统计功能(Apache’s mod_status)

(3)高级进程管理功能,能够优雅的停止/开始

(4)能够使用不同的工作用户和不同的php.ini

(5)输入,输出日志记录…

开启后,一切恢复正常!自己的服务器端技术还是有很多地方使用的不够。需要多学习使用!

总结:

1、试检查一下nginx.conf的设置,是不是有limit的设置,比如limit_zone、limit_conn,这些参数也是有影响的。

2、检查一下防火墙,是不是有相关的设置限制。

3、检查一下nginx.conf的设置,看看有没有valid_referers none blocked的防链设置。

4、看下访问静态文件是否正常,错误排除~

OK,如上只是一些猜测~

具体原因,具体分析~

越来越多的系统,采用nginx,大家有必要了解些nginx的知识~

安装ArchLinux到U盘(四)安装Archlinux

点击 Power on this virtual machine 启动 Installer 虚拟机

点击 Enter 启动Archlinux安装镜像

等待启动完毕,输入 llk 应该显示下灶谨面的内容

这时候U盘还没有连接至虚拟机,点击菜单VM > Removable Devices > USB Device > Connect(Disconnect from Host),将U盘连接至虚拟机,其中

USB Device

是U盘的名称,U盘不同名称应该也是不同的。

然后输入 llk 应该显示下面的内容,可以看到已经有 sdb 这个磁盘了

以下的内容基于Archlinux官网的wiki,如果有不桥做明白的地方可以参考 官方Wiki

这里我们选择分三个区:

输入 fdisk /dev/sdb 进入分区程序

输入 o 开始分区

输入 n 新建EFI分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

输入 +128M 新建EFI分区大小为128M

输入 n 新建根分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

输入 +20G 新建根分区大小为20G,敏辩衡该分区容量可根据U盘容量自行决定,不一定非得是20G

输入 n 新建根分区

点击 Enter 选择默认分区序号

点击 Enter 选择默认起始扇区

点击 Enter 选择默认容量,剩余全部未分配分区

输入 p 查看分区信息

输入 w 写入分区信息

输入 llk 可以看到已经有 sdb 磁盘,下面有 sdb1 , sdb2 , sdb3 三个分区

输入 mkfs.fat -F 32 /dev/sdb1 格式化 sdb1 为FAT32格式

输入 mkfs.fat -F 32 /dev/sdb3 格式化 sdb3 为FAT32格式

输入 mkfs.ext4 /dev/sdb2 格式化 sdb2 为ext4格式,如果出现 Proceed anyway? ,输入y继续格式化

输入 mount /dev/sdb2 /mnt 挂载 sdb2 到 /mnt

输入 mkdir -p /mnt/boot/efi 创建 /mnt/boot/efi 目录

输入 mount /dev/sdb1 /mnt/boot/efi 挂载 sdb1 到 /mnt/boot/efi

sdb3 U盘分区无需挂载

输入 cd /etc/pacman.d 选择目录

输入 cp mirrorlist mirrorlist.bk 将 mirrorlist 拷贝到 mirrorlist.bk

输入 cat mirrorlist.bk | grep China -A 1 | grep -v ‘-‘ > mirrorlist 将所有中国的镜像写入 mirrorlist

输入 nano mirrorlist 编辑镜像列表

经测试,清华和163的镜像是最快的,这里可以根据实际测试来决定选择哪一个。可以在 Server 前面写入 # 来注释掉该镜像。

编辑完成之后 点击 CTRL + X 退出编辑

点击 y

点击 Enter ,保存文件

输入 pacstrap -i /mnt base base-devel ntfs-3g 安装系统,然后点击 Enter

点击 Enter

点击 Enter

然后静静地等待安装完成。

输入 genfstab -U -p /mnt > /mnt/etc/fstab 生成文件系统表

输入 arch-chroot /mnt 进入新系统

输入 nano /etc/locale.gen 选择文字编码

将 zh_CN 开头的行全部取消注释,再找到 en_US.UTF-8 UTF-8也取消注释。 编辑完成之后保存。nano 的使用方法不再赘述

输入 locale-gen

输入 nano /etc/locale.conf 在文件中写入 LANG=en_US.UTF-8 保存

输入 rm /etc/localtime 删除原 UTC 时区

输入 ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

设置计算机系统时区为上海

输入 hwclock –systohc –localtime 设置硬件时间为本地时间

输入 echo steven > /etc/hostname 将主机名配置成 steven,这个名称可以自行更改

输入 nano /etc/mkinitcpio.conf 找到下面这行

将 block 写到 udev 之后,然后保存,这样做就是为了让u在启动的之后首先加载

输入 mkinitcpio -p linux ,生成启动镜像

输入 passwd 设置 root 用户的密码,注意输入密码时没有回显。

输入 pacman -S zd1211-firmware 安装无线网卡驱动

输入 pacman -S iw wpa_supplicant wireless_tools net-tools 安装网络工具

输入 pacman -S dialog 安装终端对话框

输入 pacman -S grub 安装引导程序

输入 grub-install –target=i386-pc /dev/sdb 安装BIOS引导

输入 blkid , 将 sdb2 的 UUID 记下来

这里 UUID 是 97b5e415-46ab-4e35-a804-6ddaez5793ac,每个分区的UUID应该都是不同的,下面具体根据自己的UUID来做修改,这是为了用 UUID 做标识来启动操作系统,否则换了电脑硬盘标签变化就不能启动了

输入 nano /boot/grub/grub.cfg , 修改grub配置文件

将所有出现的UUID全部改成 sdb2 的UUID,过程略复杂,谨慎修改,然后保存

输入 exit 退出新系统

输入 shutdown -h now 关闭 Installer 虚拟机

参考 新建虚拟机

选择安装源时,选 I will install the operating system later.

名称写成 Boot,或者可以自定义

选择磁盘时,选择 Use a physical disk(for advanced users)

然后选择 PhysicalDrive1,选择Use individual partitions

勾选前两个分区

如果发现分区信息不对,可以返回上一步,重新选择另一个PhysicalDrive,然后再试

点击 Power on this virtual machine 启动测试虚拟机

启动之后

这时候输入 用户名 root 和 passwd 设置的密码就可以登陆了

如果有USB的无线网卡,挂到虚拟机里,输入 wifi-menu 就可以选择无线网络了

输入 shutdown -h now 关闭测试虚拟机

如果关机之后,Windows 出现如下对话框,请点击 取消(Cancel)

编辑 Installer 虚拟机,点击 Edit virtual machine settings

在Options选项卡,Advanced选项右侧,将Firmware type 改为UEFI,

不要勾选 Enable Secure Boot

,然后保存

和前文一样

输入 grub-install –target=x86_64-efi –efi-directory=/boot/efi –removable 安装UEFI启动项

输入 shutdown -h now 关闭 Installer 虚拟机

和前文一样,修改 Boot 虚拟机的启动模式为 UEFI,

不要勾选 Enable Secure Boot

启动 Boot 虚拟机,这时应该可以启动了,然后关闭 Boot 虚拟机

很遗憾,目前为止,我还没有找到解决 Secure Boot 的方法,所以只能先关闭Secure Boot 再启动U盘中的 Archlinux。

网上所有我见过的解决Secure Boot的方法,都无法解决U盘移动后,磁盘信息可能会发生变化的情况,而且一般情况下不同计算机中的磁盘信息显然都是不同的。

经测试,Secure boot 安装在硬盘中是可以使用的,具体参考 安装ArchLinux到硬盘

如果BIOS(legacy)和UEFI两种启动方式,都可以启动,那么说明Archlinux已经安装成功。这时 Installer 虚拟机就失去了它的作用,可以删除了。

普通PC可以在开机的时候狂按 F2 、F12、Enter 来调整启动的顺序,理论上就可以进入了。

MAC 机器在开机的时候,按住option键,出现启动选项之后,选择 EFI boot 就可以了。

关于archlinux proxy 设置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


数据运维技术 » ArchLinux Proxy设置:优化网络连接速度 (archlinux proxy 设置)