Deprecated: Creation of dynamic property Typecho\Widget\Request::$feed is deprecated in /www/wwwroot/blog.iletter.top/var/Widget/Archive.php on line 253
白荼日记 - linux 2025-07-25T13:17:00+08:00 Typecho https://blog.iletter.top/index.php/feed/atom/tag/linux/ <![CDATA[ubuntu server设置samba共享服务]]> https://blog.iletter.top/index.php/archives/399.html 2025-07-25T13:17:00+08:00 2025-07-25T13:17:00+08:00 DelLevin https://blog.iletter.top 在 Ubuntu Server 上搭建 Samba 文件共享服务 是一个非常常见的需求,适用于局域网内的文件共享、打印机共享等场景。

下面是一个完整教程 ,帮助你快速搭建一个基础的 Samba 服务,并允许其他用户访问你的共享目录。

第一步:安装 Samba

sudo apt update

sudo apt install samba -y

安装完成后,Samba 会自动启动。

第二步:备份默认配置文件(可选)

Samba 的主配置文件位于:

/etc/samba/smb.conf

建议先做一个备份:

sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

第三步:添加共享目录配置

你可以选择共享一个现有目录,比如 /home/dellevin/shared

1. 创建共享目录(如果还没有)

mkdir -p /home/dellevin/shared

2. 编辑 Samba 配置文件

sudo nano /etc/samba/smb.conf

在文件末尾添加如下内容(以共享 shared 目录为例):

[Shared]

   comment = Shared Folder

   path = /home/dellevin/shared

   browseable = yes

   read only = no

   writable = yes

   valid users = dellevin
  • [Shared]:共享名称(客户端看到的名字)
  • path:要共享的目录路径
  • read only = nowritable = yes 表示允许写入
  • valid users:允许访问该共享的用户

第四步:设置 Samba 用户密码

你需要为允许访问的用户设置 Samba 密码(即使该用户已存在 Linux 系统中):

sudo smbpasswd -a dellevin

系统会提示你输入并确认 Samba 密码。

⚠️ 注意:这个密码可以和系统密码不同。

第五步:重启 Samba 服务

sudo systemctl restart smbd

第六步:设置开机自启

sudo systemctl enable smbd

第七步:检查是否运行正常

systemctl status smbd

确保服务状态是 active (running)

第八步:从 Windows 或 Linux 客户端访问

Windows 访问方式:

打开“此电脑”或资源管理器,在地址栏输入:

\\你的Ubuntu服务器IP地址

例如:

\\192.168.1.100

然后输入用户名 dellevin 和你在 smbpasswd 中设置的密码即可访问。

Linux 访问方式(如 Ubuntu 桌面):

打开文件管理器(如 Nautilus),按下 Ctrl + L 输入:

smb://192.168.1.100

或者使用命令行挂载:

sudo mount -t cifs //192.168.1.100/Shared /mnt/shared -o user=dellevin

可选:配置防火墙(UFW)

如果你启用了防火墙 UFW,需要开放 Samba 所需端口:

sudo ufw allow 'Samba'

总结:常用命令一览表

操作命令
安装 Sambasudo apt install samba
配置文件位置/etc/samba/smb.conf
添加共享目录在配置文件中添加[ShareName]
设置 Samba 用户密码sudo smbpasswd -a username
重启 Sambasudo systemctl restart smbd
开机自启sudo systemctl enable smbd
查看服务状态systemctl status smbd
客户端访问地址\\IP地址smb://IP地址
]]>
<![CDATA[linux注册服务为系统服务并开机自启]]> https://blog.iletter.top/index.php/archives/398.html 2025-07-15T22:22:23+08:00 2025-07-15T22:22:23+08:00 DelLevin https://blog.iletter.top 因为安装了frp穿透服务,每次开启都要手动启动, 所以索性注册为系统服务,并实现开机自启。

编写配置文件

sudo vim /etc/systemd/system/frp-panel.service
[Unit]
Description=FRP Panel Service
After=network.target

[Service]
User=root
WorkingDirectory=/home/dellevin/frp
ExecStart=/home/dellevin/frp/frp-panel client -s 4f448b4a-1c0f-486d-9f42-aed90f288da5 -i admin.c.home-services --api-url http://152.136.153.72:9000 --rpc-url grpc://152.136.153.72:9001
Restart=always
RestartSec=10s

[Install]
WantedBy=multi-user.target

说明:

  • User=:运行该服务的用户(这里是 root
  • WorkingDirectory=:程序运行时的工作目录
  • ExecStart=:要执行的完整命令
  • Restart=always:异常退出后自动重启
  • RestartSec=10s:重启前等待 10 秒

重新加载 systemd 配置

sudo systemctl daemon-reexec
sudo systemctl daemon-reload

启用服务开机自启

sudo systemctl enable frp-panel.service

启动服务(或重启系统测试)

sudo systemctl start frp-panel.service

查看运行状态:

sudo systemctl status frp-panel.service

如果显示 active (running),说明服务已成功运行。

日志查看方式

你可以使用 journalctl 查看服务日志:

journalctl -u frp-panel.service -f

取消开机自启的命令

sudo systemctl disable 服务名称

查看当前是否已取消成功

你可以运行以下命令查看该服务的状态:

systemctl is-enabled frp-panel

如果输出是:

disabled

说明已经成功取消开机启动了

]]>
<![CDATA[ubuntu-services挂载外置硬盘]]> https://blog.iletter.top/index.php/archives/397.html 2025-07-15T22:20:55+08:00 2025-07-15T22:20:55+08:00 DelLevin https://blog.iletter.top 软件包升级
sudo apt upgrade

lsblk命令用于列出所有可用的存储设备及其分区信息

df -h 查看挂载点、文件系统类型、已用空间、可用空间等。

root@dellevin-ubuntu:/# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
loop0                       7:0    0  63.9M  1 loop /snap/core20/2318
loop1                       7:1    0    87M  1 loop /snap/lxd/29351
loop2                       7:2    0  38.8M  1 loop /snap/snapd/21759
sda                         8:0    0 119.2G  0 disk 
├─sda1                      8:1    0     1M  0 part 
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 117.2G  0 part 
  └─ubuntu--vg-ubuntu--lv 253:0    0 117.2G  0 lvm  /
sdb                         8:16   0 465.8G  0 disk 
└─sdb1                      8:17   0 465.8G  0 part 

root@dellevin-ubuntu:/# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              578M  1.2M  577M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  115G  7.1G  102G   7% /
tmpfs                              2.9G     0  2.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  130M  1.7G   8% /boot
tmpfs                              578M  4.0K  578M   1% /run/user/1000

可以看到sdb并没有挂载

sudo mkfs.ext4 /dev/sdb1 将这块硬盘格式
化为 ext4 文件系统

root@dellevin-ubuntu:/mnt# sudo mkfs.ext4 /dev/sdb1
mke2fs 1.46.5 (30-Dec-2021)
/dev/sdb1 contains a ntfs file system labelled '系统'
Proceed anyway? (y,N) y
Creating filesystem with 122096000 4k blocks and 30531584 inodes
Filesystem UUID: 86424462-d372-4894-89b2-3186bb52b237
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
    4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
    102400000

Allocating group tables: done                            
Writing inode tables: done                            
Creating journal (262144 blocks): 
done
Writing superblocks and filesystem accounting information: done

sudo mount /dev/sdb1 /mnt/500Data 创建挂载点并挂载硬盘

root@dellevin-ubuntu:/mnt# mkdir 500Data
root@dellevin-ubuntu:/mnt# ls
500Data
root@dellevin-ubuntu:/mnt# sudo mount /dev/sdb1 /mnt/500Data
root@dellevin-ubuntu:/mnt# df -h | grep sdb1
/dev/sdb1                          458G   28K  435G   1% /mnt/500Data
root@dellevin-ubuntu:/mnt# df -h 
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              578M  1.2M  577M   1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv  115G  7.1G  102G   7% /
tmpfs                              2.9G     0  2.9G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G  130M  1.7G   8% /boot
tmpfs                              578M  4.0K  578M   1% /run/user/1000
/dev/sdb1                          458G   28K  435G   1% /mnt/500Data

设置开机自动挂载

sudo blkid | grep /dev/sdb1 查看硬盘UUID

root@dellevin-ubuntu:/mnt/500Data# sudo blkid | grep /dev/sdb1
/dev/sdb1: UUID="86424462-d372-4894-89b2-3186bb52b237" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="1ea79eea-01"

vim /etc/fstab 然后编辑 fstab 添加一行:

UUID=86424462-d372-4894-89b2-3186bb52b237  /mnt/500Data   ext4   defaults   0   2
]]>
<![CDATA[Centos7设置swap内存大小]]> https://blog.iletter.top/index.php/archives/349.html 2024-12-27T11:03:02+08:00 2024-12-27T11:03:02+08:00 DelLevin https://blog.iletter.top 创建和配置 2GB Swap 文件
  1. 创建一个空文件作为交换空间​: 使用 dd 命令来创建一个指定大小的文件。我们将创建一个 2GB 的文件 /swapfile

    sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
  2. 设置适当的权限​: 设置正确的文件权限以确保安全,防止非授权访问。

    sudo chmod 600 /swapfile
  3. 初始化交换文件​: 使用 mkswap 命令来设置这个文件为交换空间。

    sudo mkswap /swapfile
  4. 激活交换文件​: 使用 swapon 命令来启用新的交换空间。

    sudo swapon /swapfile
  5. 验证交换空间​: 再次使用 free -h 或者 swapon --show 来确认交换空间已经正确添加。

    free -h
    # 或者
    sudo swapon --show
  6. 使更改永久生效​: 编辑 /etc/fstab 文件,添加一行以确保在系统重启后仍然可以使用新创建的交换空间。 打开 /etc/fstab 文件:

    sudo vi /etc/fstab

    在文件末尾添加如下行:

    /swapfile none swap sw 0 0
  7. 调整 Swappiness 参数(可选)​: 如果你想要调整内核对 swap 的使用倾向,可以通过编辑 /etc/sysctl.conf 文件来设置 vm.swappiness 参数。例如,将其设置为 10 可能是一个合理的选择。

    echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
    sudo sysctl -p

完成以上步骤后,系统应该已经有了 2GB 的 swap 空间,并且它会在每次启动时自动加载。

]]>
<![CDATA[Centos7部署maven环境]]> https://blog.iletter.top/index.php/archives/348.html 2024-12-27T11:01:51+08:00 2024-12-27T11:01:51+08:00 DelLevin https://blog.iletter.top 1、maven 官网下载安装包

maven 官网地址:https://maven.apache.org/download.cgi

下载完成后,上传到 linux

2、安装 maven

创建 maven 文件夹

mkdir -p /usr/local/maven

解压 maven 安装包到 maven 文件夹

tar -zxvf apache-maven-3.8.5-bin.tar.gz -C /usr/local/maven

进入maven 目录

cd /usr/local/maven/apache-maven-3.8.5/

进入 conf 目录

cd conf/

创建 maven 资源库目录

mkdir -p /m2/respository

编辑 settings.xml 文件

vim settings.xml

设置指定的存放位置为

<localRepository>/m2/repository</localRepository>

更改镜像源

<mirror>  
         <id>alimaven</id>  
         <name>aliyun maven</name>  
        <url><http://maven.aliyun.com/nexus/content/groups/public/></url>  
         <mirrorOf>central</mirrorOf>          
</mirror>

3、添加环境变量

vim /etc/profile

添加 maven 环境变量内容

MAVEN_HOME=/usr/local/maven/apache-maven-3.8.5
PATH=$MAVEN_HOME/bin:$PATH
export MAVEN_HOME PATH

重新加载配置文件

source /etc/profile

测试查看版本

mvn -version
]]>
<![CDATA[Centos7部署redis]]> https://blog.iletter.top/index.php/archives/347.html 2024-12-27T11:01:21+08:00 2024-12-27T11:01:21+08:00 DelLevin https://blog.iletter.top 下载Redis

进入官网找到下载地址 https://redis.io/download

右键Download按钮,选择复制链接。

进入到Xshell控制台(默认当前是root根目录),输入wget 将上面复制的下载链接粘贴上,如下命令:

wget <http://download.redis.io/releases/redis-5.0.7.tar.gz>

下载完成后进行解压

tar -zvxf redis-5.0.7.tar.gz

移动redis目录

一般都会将redis目录放置到 /usr/local/redis目录,所以这里输入下面命令将目前在/root目录下的redis-5.0.7文件夹更改目录,同时更改文件夹名称为redis。

mv /root/redis-5.0.7 /usr/local/redis

编译

cd到/usr/local/redis目录,输入命令make执行编译命令,接下来控制台会输出各种编译过程中输出的内容。

make

安装

输入以下命令make PREFIX=/usr/local/redis install

这里多了一个关键字 PREFIX= 这个关键字的作用是编译的时候用于指定程序存放的路径。比如我们现在就是指定了redis必须存放在/usr/local/redis目录。假设不添加该关键字Linux会将可执行文件存放在/usr/local/bin目录,

库文件会存放在/usr/local/lib目录。配置文件会存放在/usr/local/etc目录。其他的资源文件会存放在usr/local/share目录。这里指定号目录也方便后续的卸载,后续直接rm -rf /usr/local/redis 即可删除redis。

启动redis

根据上面的操作已经将redis安装完成了。在目录/usr/local/redis 输入下面命令启动redis

后台启动(在配置文件设置了daemonize属性为yes则跟后台进程方式启动其实一样)

./bin/redis-server& ./redis.conf

显示启动方式

./bin/redis-server ./redis.conf

]]>
<![CDATA[Centos7部署jenkins2.164安装]]> https://blog.iletter.top/index.php/archives/346.html 2024-12-27T11:00:52+08:00 2024-12-27T11:00:52+08:00 DelLevin https://blog.iletter.top centos安装的是java8根据jenkins的提示,所以选择2.164


You will need to explicitly install a Java runtime environment, because Oracle's Java RPMs are incorrect and fail to register as providing a java dependency. Thus, adding an explicit dependency requirement on Java would force installation of the OpenJDK JVM.

  • 2.164 (2019-02) and newer: Java 8 or Java 11
  • 2.54 (2017-04) and newer: Java 8
  • 1.612 (2015-05) and newer: Java 7

本文采用rpm形式安装,下载网址

https://archives.jenkins-ci.org/redhat-stable/

rpm安装:

rpm -ivh jenkins-2.164.1-1.1.noarch.rpm

配置jenkis的端口:

vim /etc/sysconfig/jenkins

找到修改端口号:

JENKINS\_PORT="8080" 修改此端口号

新版Jenkins配置文件需要在启动service里面更改

vim /usr/lib/systemd/system/jenkins.service

编辑更改这一行

Environment="JENKINS_PORT=7998”

启动jenkins

service jenkins start
service jenkins stop
service jenkins restart

启动失败日志:

[root@iZuefw6wnv6uycZ ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2024-12-10 13:35:05 CST; 12s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 15057 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=1/FAILURE)

Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 10 13:35:05 iZuefw6wnv6uycZ runuser[15062]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 10 13:35:05 iZuefw6wnv6uycZ jenkins[15057]: Starting Jenkins bash: /usr/bin/java: No such file or directory
Dec 10 13:35:05 iZuefw6wnv6uycZ runuser[15062]: pam_unix(runuser:session): session closed for user jenkins
Dec 10 13:35:05 iZuefw6wnv6uycZ jenkins[15057]: [FAILED]
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: jenkins.service: control process exited, code=exited status=1
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: Failed to start LSB: Jenkins Automation Server.
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: Unit jenkins.service entered failed state.
Dec 10 13:35:05 iZuefw6wnv6uycZ systemd[1]: jenkins.service failed.

可以查看到这里面Starting Jenkins bash: /usr/bin/java: No such file or directory 表示在/usr/bin/java 找到不到java环境,但我是配置了的。所以这里需要配置到对应路径的软连接

ln -s /home/env/java/jdk1.8.0_431/bin/java /usr/bin/java

再次启动则启动成功

[root@iZuefw6wnv6uycZ ~]# service jenkins start
Starting jenkins (via systemctl):                          [  OK  ]
[root@iZuefw6wnv6uycZ ~]# systemctl status jenkins.service
● jenkins.service - LSB: Jenkins Automation Server
   Loaded: loaded (/etc/rc.d/init.d/jenkins; bad; vendor preset: disabled)
   Active: active (running) since Tue 2024-12-10 13:39:59 CST; 6s ago
     Docs: man:systemd-sysv-generator(8)
  Process: 15095 ExecStart=/etc/rc.d/init.d/jenkins start (code=exited, status=0/SUCCESS)
   CGroup: /system.slice/jenkins.service
           └─15114 /usr/bin/java -Dcom.sun.akuma.Daemon=daemonized -Djava.awt.headless=true -DJENKINS_HOME=/var/lib/jenkins -jar /usr/lib/jenkins/jenkins....

Dec 10 13:39:58 iZuefw6wnv6uycZ systemd[1]: Starting LSB: Jenkins Automation Server...
Dec 10 13:39:58 iZuefw6wnv6uycZ runuser[15100]: pam_unix(runuser:session): session opened for user jenkins by (uid=0)
Dec 10 13:39:59 iZuefw6wnv6uycZ runuser[15100]: pam_unix(runuser:session): session closed for user jenkins
Dec 10 13:39:59 iZuefw6wnv6uycZ systemd[1]: Started LSB: Jenkins Automation Server.
Dec 10 13:39:59 iZuefw6wnv6uycZ jenkins[15095]: Starting Jenkins [  OK  ]

打开jenkins

在浏览器中访问ip:端口 , 首次进入会要求输入初始密码,

初始密码在:/var/lib/jenkins/secrets/initialAdminPassword

查看密码:

[root@iZuefw6wnv6uycZ ~]# cat /var/lib/jenkins/secrets/initialAdminPassword
e912eae446234c02bdc5a8aea1de6b04

接下来选择“Install suggested plugins”安装默认的插件,Jenkins就下载相关的插件进行安装,有时候因为访问外网原因,可以选择手动安装,进入界面自己选择安装。

然后在世配置管理员命令和密码即可

]]>
<![CDATA[Centos7配置java环境]]> https://blog.iletter.top/index.php/archives/345.html 2024-12-27T10:59:30+08:00 2024-12-27T10:59:30+08:00 DelLevin https://blog.iletter.top 下载:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

解压文件

tar -zxvf jdk-8u431-linux-x64.tar.gz -C /home/env/java/

设置环境变量

vim /etc/profile

在文件最末尾加上

export JAVA_HOME=/home/env/java/jdk1.8.0_431
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

使环境变量生效

source /etc/profile

配置软连接

ln -s /home/env/java/jdk1.8.0_431/bin/java /usr/bin/java

检查

java -version

删除软连接并重新配置

确认现有软连接

ls -l /usr/bin/java

删除

rm /usr/bin/java

重新配置

ln -s /env/java/jdk-21.0.3/bin/java /usr/bin/java
]]>
<![CDATA[巧用nginx自建cdn加速服务器]]> https://blog.iletter.top/index.php/archives/323.html 2024-11-10T12:45:00+08:00 2024-11-10T12:45:00+08:00 DelLevin https://blog.iletter.top 之前使用cloudflare加速网站的时候,虽然是负加速把。。。但好歹能用啊。结果周五早上,看网站的时候忽然死掉了。去cloudflare查看,结果解析的界面一直404所以没办法,就很绝望。想到自己有一台国内的服务器,便想着自建cdn服务器。

CDN 就是内容分发网络的意思,其英文全称为 Content Delivery Network。简单地说,CDN 可以提前把数据存在离用户最近的数据节点,从而避免长途跋涉经过长途骨干网,最终达到减少骨干网负担、提高访问速度的目的。其实很好理解,就是你访问网站的时候数据如果经过的那个cdn,就会有个缓存,如果你再次访问的时候,就会读取那个cdn的缓存,就不用再跑很远去找你的服务器了。

好了,闲话不多说,现在开始实操。

准备

一台国外服务器10.0.0.1 绑定域名 www.ittoolman.com

一台国内服务器10.0.0.2

操作

安装nginx

需要在所有CDN服务器节点安装Nginx。也就是链接10.0.0.2,给这台服务器安装nginx,这里我是用的是xiaoz的一键Nginx安装包。如果想自己用的话可以自己设置nginx。

wget https://raw.githubusercontent.com/helloxz/nginx-cdn/master/nginx.sh
chmod +x nginx.sh && ./nginx.sh

反向代理配置

反向代在这里你把它理解成CDN节点就行了

  • 源站服务器: 10.0.0.1,就是网站数据真实存放的地方
  • CDN服务器: 10.0.0.2

在10.0.0.2上编辑hosts,这样做的目的就是告知服务器从哪里去获取网站数据,也就是回源地址,需要在CDN上做如下修改

vi /etc/hosts
10.0.0.1   www.ittoolman.com

配置一下各种目录

#创建缓存目录
mkdir -p /data/wwwroot/caches/www.ittoolman.com
#设置缓存目录权限
chown -R www:www /data/wwwroot/caches/www.ittoolman.com
#如果网站是https创建证书路径
mkdir -p /data/wwwssl/www.ittoolman.com
#创建配置文件
vi /usr/local/nginx/conf/vhost/ittoolman.com.conf

ittoolman.com.conf中添加下面的内容,缓存目录/缓存时间请根据实际情况调整,详细参数和含义请自行百度。

proxy_cache_path /data/wwwroot/caches/www.ittoolman.com levels=1:2 keys_zone=ittoolman:50m inactive=30m max_size=50m;

# HTTP 请求重定向到 HTTPS(可选)
server {
    listen 80;
    server_name www.ittoolman.com;
    return 301 https://$host$request_uri;
}

# HTTPS 配置
server {
    listen 443 ssl;
    server_name www.ittoolman.com;

    # 设置 SSL 证书和私钥路径
    ssl_certificate /data/wwwssl/www.ittoolman.com/fullchain.pem;
    ssl_certificate_key /data/wwwssl/www.ittoolman.com/privkey.pem;
    # 优化ssl配置
    ssl_session_timeout 1d;
    ssl_session_cache builtin:1000 shared:SSL:10m;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
    access_log /data/wwwlogs/www.ittoolman.com_nginx.log combined;

    # 自定义 Server 头
    server_tokens off;
    add_header Server ittoolmanCDN;

    # 启用缓存
    location / {
        proxy_ssl_verify off;
       proxy_pass https://www.ittoolman.com;
        proxy_set_header Accept-Encoding "";
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        proxy_cache ittoolman;
        proxy_cache_valid 200 304 30m;
        proxy_cache_valid 301 24h;
        proxy_cache_valid 500 502 503 504 0s;
        proxy_cache_valid any 1s;
        proxy_cache_min_uses 1;

        expires 12h;
        proxy_redirect off;
    }
}

nginx整体配置为

user  www www;
worker_processes  auto;
worker_rlimit_nofile 50000;
error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

pid        /var/run/nginx.pid;


events {
    use epoll;
    worker_connections 51200;
    #worker_connections  1024;
    multi_accept on;
}


http {
    include       mime.types;
    default_type  application/octet-stream;
    server_names_hash_bucket_size 128;
    client_header_buffer_size 32k;
    large_client_header_buffers 4 32k;
    client_max_body_size 1024m;
    client_body_buffer_size 10m;
    sendfile on;
    tcp_nopush on;
    keepalive_timeout 120;
    server_tokens off;
    tcp_nodelay on;
    proxy_headers_hash_max_size 51200;
    proxy_headers_hash_bucket_size 6400;
    #开启Brotli压缩
    brotli on;
    brotli_comp_level 6;
    #最小长度
    brotli_min_length   512;
    brotli_types text/plain text/javascript text/css text/xml text/x-component application/javascript application/x-javascript application/xml application/json application/xhtml+xml application/rss+xml application/atom+xml application/x-font-ttf application/vnd.ms-fontobject image/svg+xml image/x-icon font/opentype;
    brotli_static       always;

    gzip on;
    gzip_buffers 16 8k;
    gzip_comp_level 6;
    gzip_http_version 1.1;
    gzip_min_length 256;
    gzip_proxied any;
    gzip_vary on;
    gzip_types
    text/xml application/xml application/atom+xml application/rss+xml application/xhtml+xml image/svg+xml
    text/javascript application/javascript application/x-javascript
    text/x-json application/json application/x-web-app-manifest+json
    text/css text/plain text/x-component
    font/opentype application/x-font-ttf application/vnd.ms-fontobject
    image/x-icon;
      gzip_disable "MSIE [1-6]\.(?!.*SV1)";

    #If you have a lot of static files to serve through Nginx then caching of the files' metadata (not the actual files' contents) can save some latency.
    open_file_cache max=1000 inactive=20s;
    open_file_cache_valid 30s;
    open_file_cache_min_uses 2;
    open_file_cache_errors on;

    #limit connection
    limit_conn_zone $binary_remote_addr zone=addr:10m;
    

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    include cdn/*.conf;
    include vhost/*.conf;
}

所有配置写完之后,需要检测文件是否写的正确,以及重载nginx配置让配置生效。

# 检查文件是否正确,如果是正确的,会有个successful提示
/usr/local/nginx/sbin/nginx -t
# 重载nginx配置
/usr/local/nginx/sbin/nginx -s reload

dns解析

在腾讯云/阿里云/cloudflare等dns服务商上面添加a解析

主机记录:www

记录类型:A

记录值:10.0.0.2

做完之后,等待一段时间让其生效,再次访问网站查看

查看解析

server有这个,表示已经弄好了。

]]>
<![CDATA[cloudflare实现网站加速]]> https://blog.iletter.top/index.php/archives/250.html 2024-10-24T22:54:00+08:00 2024-10-24T22:54:00+08:00 DelLevin https://blog.iletter.top 前几天刚把服务器换上,给同学展示后,他说“你这网站访问速度有些慢啊”。这时候我才反应过来,腾讯域名+国外服务器,最终解析还是在国外的服务器上面。慢还是慢。。。于是想到了cdn加速。

但是又遇到了一个问题,由于我本人懒得备案,导致又拍云,腾讯云的cdn解析都没办法使用,毕竟都需要备案才能使用(可恶啊)。看了几篇帖子之后,他们说阿里云国外版可以cdn国内加速,我申请了一下,但是需要手机号。。。好的,还是pass了。最后还是选择了免费的cloudflare的加速。

先是添加网站,然后再域名提供商填写上cloudflare的ns解析值。等一会就验证过了。好了,这样就配置好了。。。但是,毕竟是国外的加速,用在国内cdn加速还是一坨屎,完全随缘了属于是。。。。

最后贴一张自己写的主页www.ittoolman.com

主页

]]>