2022年8月31日星期三

Ubuntu升级或安装Nginx最新稳定版(官方源安装)

卸载旧版本:

#卸载软件
sudo apt purge nginx   

#自动清理一些程序   
sudo apt autoremove nginx      

 #删除不需要的配置文件

sudo apt autoclean
dpkg -l |grep ^rc|awk ‘{print $2}’ |sudo xargs dpkg -P nginx     

#更新本地缓存文件及系统

sudo apt update && sudo apt upgrade && sudo apt dist-upgrade      

需要添加Nginx官方源才能下载Nginx的最新稳定版本

添加nginx_signing.key:
获取nginx_signing.key文件,
sudo wget http://nginx.org/keys/nginx_signing.key

sudo wget https://mirrors.nju.edu.cn/nginx/keys/nginx_signing.key
添加,
sudo apt-key add nginx_signing.key
删除nginx_signing.key,
rm -f nginx_signing.key

在 /etc/apt/sources.list.d 文件夹中新建nginx.list文件写入下面对应的两行:
jammy 为操作系统版本代号,要根据系统来选择 , 详见
查看操作系统版本命令:
lsb_release -c
官方源:
Ubuntu:
deb https://nginx.org/packages/ubuntu/ jammy nginx
deb-src https://nginx.org/packages/ubuntu/ jammy nginx

debian:
deb https://nginx.org/packages/debian/ bullseye nginx
deb-src https://nginx.org/packages/debian/ bullseye nginx

国内源:
Ubuntu22.04:
deb https://mirrors.nju.edu.cn/nginx/ubuntu/ jammy nginx
deb-src https://mirrors.nju.edu.cn/nginx/ubuntu/ nginx
debian11:
deb https://mirrors.nju.edu.cn/nginx/debian/ bullseye nginx
deb-src https://mirrors.nju.edu.cn/nginx/debian/ bullseye nginx
或debian12:
deb https://mirrors.nju.edu.cn/nginx/debian/ bookworm nginx
deb-src https://mirrors.nju.edu.cn/nginx/debian/ bookworm nginx

最后输入以下命令进行安装:
sudo apt update
如有以下报错,
W: https://nginx.org/packages/ubuntu/dists/jammy/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.

执行以下命令后再次更新源:
sudo cp /etc/apt/trusted.gpg /etc/apt/trusted.gpg.d

开始安装 nginx
sudo apt install nginx

输入nginx -v查看安装版本:

新版nginx的/etc/nginx/下的目录结构:

/etc/nginx
├── conf.d
│ ├── default.conf
├── fastcgi_params
├── mime.types
├── modules -> /usr/lib/nginx/modules
├── nginx.conf
├── scgi_params
└── uwsgi_params

主要配置文件存放于/etc/nginx/conf.d 目录

重新加载配置并重启

nginx -t #测试配置语法
nginx -s reload #重新加载配置
sudo systemctl restart nginx #重启Nginx

nginx.pid” failed 修复:

/usr/sbin/nginx -c /etc/nginx/nginx.conf

安装PHP支持,Nginx不具有处理PHP文件的内置支持。将使用PHP-FPM(“ fastCGI进程管理器”)来处理PHP文件。

sudo apt install php-fpm

安装完成后,FPM服务将自动启动。要检查服务状态,请运行

systemctl start php7.4-fpm
systemctl status php7.4-fpm
systemctl start php8.1-fpm
systemctl status php8.1-fpm

或使用/etc/init.d 启动:
{start|stop|status|restart|reload|force-reload}
/etc/init.d/php8.1-fpm start
/etc/init.d/php8.1-fpm restart

默认静态配置

server {
listen 80;
server_name localhost;
location / {
root /var/www/html/;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html/;
}
}

默认PHP配置

server {
listen 80;
server_name localhost;
# 启用HTTPS
# listen 2443 ssl;
# ssl_protocols TLSv1.3;
# ssl_certificate /etc/ssl/zs/fullchain.crt;
# ssl_certificate_key /etc/ssl/zs/private.pem;
location / {
root /var/www/html/;
index index.php index.html index.htm;
try_files $uri $uri/ /index.php?$args;
}
error_page 404 /404.html;
location = /404.html {
root /var/www/html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /var/www/html/;
}
location ~ \.php$ {
fastcgi_pass unix:/run/php/php8.1-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\.ht {
deny all;
}
}

TCP/UDP端口转发:
/etc/nginx/nginx.conf文件末尾添加配置代码:

stream {
include /etc/nginx/conf.d/*.stream;
}

conf.d目录下,添加*.stream后缀的配置文件,server

#TCP示例:
server {
listen 90;
listen [::]:90;
proxy_connect_timeout 5s;
proxy_timeout 20s;
proxy_pass localhost:89;
}

#UDP示例:
server {
listen 90 udp reuseport;
listen [::]:90 udp reuseport;
proxy_timeout 20s;
proxy_pass localhost:89;
}

-

2022年8月30日星期二

Windows10及以上系统同时保持无线和有线连接的设置

某些使用场景(同时连接内网与外网)需要使得WIFI和有线连接能够同时自动连接,设置方法如下:

答案在于一个系统控制选项(运行dos命令-gpedit.msc进入该策略配置窗口):

  1. 进入组策略编辑器(仅专业版系统支持)
  2. 更改组策略》计算机配置》管理模板》网络》Windows连接管理器》最小化到 Internet 或 Windows 域的同时连接数》更改状态为已启用》最小化策略选项》0=允许同时连接【值为0-允许同时连接】。
只有当系统设置项取值为0(允许同时连接)时,才能够保证有线和WIFI连接共存。这里需要注意的时,修改取值后不要忘记按下"应用"键使之生效,接下来重启电脑生效。

重启电脑后网路在LAN网络已连接上的情况下依然会自动连接WLAN网络。



以下操作非必须:

更改有线网络适配器跃点数:



更改无线网络适配器跃点数:






2022年8月28日星期日

Linux下定期自动更新https加密证书

前置准备


  脚本需要的软件包

sudo apt install zip
sudo apt install curl

建立证书及脚本及执行

mkdir /etc/ssl/zs
cd /etc/ssl/zs
vim /etc/ssl/zs/ssl_update.sh

  chmod 777 /etc/ssl/zs/ssl_update.sh

./ssl_update.sh

添加自动执行任务
crontab -e
如提示未知命令,则安装cron
安装:apt-get install cron
启动:service cron start

编辑定时任务

0 0 1 * * /etc/ssl/zs/ssl_update.sh

默认使用nano编辑器
如果你要保存所做的修改,按下Ctrl+O。
想要退出,按下Ctrl+X。
如果你退出前没有保存所做的修改,它会提示你是否要保存;如果不要,请按N,反之,则按Y;然后它会让你确认要保存的文件名,确认或修改后按Enter即可。

查看自动执行任务

crontab -l

以下是自动更新脚本的具体实现,

根据接口文档,可以编写满足需求的bash文件,实现自动部署功能。 主要参数说明:

注册地址: 平台注册      证书列表: 证书列表     

API获取地址 API接口


ssl_update.sh 自定义脚本内容

ORDER_ID:证书ID TYPE:证书ID类型。建议auto。 API_TOKEN:接口凭证,在后台获取。 API_USER:账户名。注册的邮箱或者手机号。

#!/usr/bin/env bash
export PATH=$PATH:/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

# 参数配置 开始
ORDER_ID='*****'
TYPE='auto'
API_TOKEN='**************'
API_USER='**************'
FILE_CERT='/etc/ssl/zs/fullchain.crt'
FILE_CERT_KEY='/etc/ssl/zs/private.pem'
COMAND_RELOAD='nginx -s reload'
# 参数配置 结束

# 以下内容根据需求修改
# 证书到期前13天内才会更新
isexpire=`openssl x509 -in ${FILE_CERT} -noout -enddate -checkend 9123200`
if echo "${isexpire}" | grep  " not " ; then
    echo "Certificate will not expire."
    exit 1
fi

API_URL='https://api.osfipin.com/letsencrypt/api'
URL_ORDER_DOWN="${API_URL}/order/down"
HEADER_AUTHOR="Authorization: Bearer ${API_TOKEN}:${API_USER}"
ZIP_FILE="${ORDER_ID}.$RANDOM"
curl ${URL_ORDER_DOWN} -"${HEADER_AUTHOR}" --"id=${ORDER_ID}" -"type=${TYPE}" -o ${ZIP_FILE}.zip

if [ ! -"${ZIP_FILE}.zip" ]; then
    echo "download error."
    exit 1
fi

size=`du -b ${ZIP_FILE}.zip | awk '{print $1}'`
if [[ ${size} -lt 500 ]]; then
    echo "download file error."
    cat ${ZIP_FILE}.zip
    unlink ${ZIP_FILE}.zip
    exit 1
fi


# 解压 移动文件
mkdir -p ${ZIP_FILE}
unzip ${ZIP_FILE}.zip -d ${ZIP_FILE}
/bin/cp ${ZIP_FILE}/fullchain.crt ${FILE_CERT}
/bin/cp ${ZIP_FILE}/private.pem ${FILE_CERT_KEY}
# 删除 打完收工
unlink ${ZIP_FILE}.zip
rm -rf ${ZIP_FILE}

`${COMAND_RELOAD}`

证书设置为 自动重申(启用自动验证,重新申请后,证书ID会保持不变,需要账户类型为VIP)

设置定时任务:

crontab -e 创建定时任务 crontab -l 查看配置文件

0 0 1 1-12/3 * root /etc/ssl/zs/ssl_update.sh “从1月到12月,每3个月的每月1日00:00执行./etc/apache2/ssl/ssl.sh文件。”

0 0 1 * * /etc/ssl/zs/ssl_update.sh “每月的1日00:00 执行./etc/apache2/ssl/ssl.sh文件。”

2022年8月27日星期六

Oracle Cloud Ubuntu 防火墙设置及开启root用户登录

 Oracle Cloud甲骨文VPS在创建vps后某些服务要对防火墙进行放行设置。

控制面板及系统设置:

1)查看实例详情,点击【虚拟云网络】
2)然后点击子网中的数据
3)再点安全列表中的数据。
4)入站规则,可见仅开放了22端口!ICMP 也是关闭的(禁ping)!
5)编辑第一条数据。将目的地端口范围里的数据清空!保存即可!!
6)或者更暴力一点开放所有协议!!!
7)Oracle自带的Ubuntu镜像默认设置了Iptable规则,设置的规则重启后会失效,失效后仅开放22端口
开放控制面板设置的同时还需要设置或关闭系统中的 iptabls 或 firewalld !
# 停止firewall
systemctl stop firewalld.service

# 禁止firewall开机启动
systemctl disable firewalld.service

# 关闭iptables
service iptables stop

# 去掉iptables开机启动
chkconfig iptables off

设置Iptable规则永久生效参见:  设置Iptable规则并永久生效

示例:放行8888端口

    iptables -I INPUT -p 协议 -m 协议 --dport 端口 -j ACCEPT

iptables -I INPUT -p tcp --dport 8888 -j ACCEPT

甲骨文vps开启root用户登录:

ssh连接上甲骨文vps(centos的用户名为opc,ubuntu的用户名为ubuntu),输入下面的命令回车切换到root用户

sudo -i

切换为root用户后,依次输入下面的命令修改为root密码登录(下面中文换成你的密码)

echo root:你设置的密码 |sudo chpasswd root
sudo sed -i 's/^#\?PermitRootLogin.*/PermitRootLogin yes/g' /etc/ssh/sshd_config;
sudo sed -i 's/^#\?PasswordAuthentication.*/PasswordAuthentication yes/g' /etc/ssh/sshd_config;
sudo service sshd restart

所有命令执行完成后就可以通过root用户登录甲骨文vps了

甲骨文vps取消默认ubuntu用户使用私钥登录:

彻底删除用户(加上-r的选项,在删除用户的同时一起把这个用户的宿主目录和邮件目录删除)

sudo userdel -r ubuntu

新建用户

sudo adduser ubuntu

添加sudo权限

sudo vim /etc/sudoers

#修改示例:
root ALL=(ALL:ALL) ALL
ubuntu ALL=(ALL:ALL) ALL

修改用户使其属于root组,命令如下:
usermod -g root ubuntu

添加用户到相应的组
sudo adduser ubuntu --in group www-data
将用户ubuntu添加到www-data组中

设置完成后即改为用户名加密码登录

2022年8月26日星期五

飞时达土方计算软件简单使用

 飞时达土方计算软件

原始数据处理:

原始地形数据

1-数据转换-高程点转换-输入最小有效高程及最大有效高程-选择要转换的样本图元-选择原始地貌高程点-根据提示完成转换

设计/完成面数据

2-控制点-控制点转换-输入最小有效高程及最大有效高程-选择要转换的样本图元-选择原始地貌高程点-输入实际标高点相对文字位置-根据提示完成转换

方格网法计算土方

1-方格网法-确定计算范围-绘制区域-输入区块编号-跟踪描绘-封闭区域-是否划分多个区块 2-方格网法-自动布置方格网-在区块内任选一点-打开方格网布置方式对话框-设置方格网横向纵向间距-确定-右键确认完成布置 3-方格网法-采集自然标高-点取需要采集标高的区块-右键确认 4-方格网法-确定设计标高-采集设计标高-点取需要采集标高的区块-右键确认 5-方格网法-计算土石方量-计算土方量-设置松散系数-点击确定-点取需要计算土方的区块 6-方格网法-土方量汇总-土方量统计表-绘制-在图形中适当位置点击完成表格绘制

三角网法计算土方

1-三角网法-确定计算范围-绘制区域-输入区块编号-跟踪描绘-封闭区域-是否划分多个区块 2-三角网法-自动布置三角网-在区块内任选一点-打开自动生成三角网对话框-设置三角网布置点来源-设置等分距离-设置区块边界标高-确定-右键确认完成布置 3-三角网法-采集自然标高-点取需要采集标高的区块-右键确认 4-三角网法-采集设计标高-点取需要采集标高的区块-右键确认 5-三角网法-计算土方量--考虑松散系数-点击确定-点取需要计算土方的区块 6-三角网法-土方量统计表-绘制-在图形中适当位置点击完成表格绘制

CASS11——方格网计算土方

 

方格网法土方计算

基本理论

(一)计算条件:计算区域边界线、原始地貌高程点、设计面高程点; 基本要素,三者缺一不可。 1,原始地貌 2,设计地貌 3,计算范围线 (二)计算原理:加权平均法。即:[(左上角原始地貌高程-左上角设计面高程)+(左下角原始地貌高程-左下角设计面高程)+(右上角原始地貌高程-右上角设计面高程)+(右下角原始地貌高程-右下角设计面高程)]÷高差个数×方格网面积;

如上图所示,1、黄色字体代表:软件以外业测量得到的原始地貌高程的加权平均值作为计算时的原始地貌高程;2、青色字体代表:设计面高程;3、洋红色字体代表:原始地貌高程的加权平均值与设计面高程的高差,其中,负值代表设计面高程比原始地貌高程大,需要填方,正值代表设计面高程比原始地貌高程小,需要挖方;4、T=28.272代表:本方格网中填方为28.272立方米;5、W=0.024代表:本方格网中挖方为0.024立方米。6、完整的方格网图中还有一条挖填平衡线作为挖方和填方的分界线。

(三)计算特点:该方法通过求出方格网每个角落高差的平均值,再乘以方格网面积; (四)计算局限:由于方格网法土方计算是一种加权平均法,计算精度没有三角网法高,可操作性大; (五)应用范围:指导现场施工; (六)电算步骤:使用南方CASS11软件完成计算

类型一:完成面为平面

1、打开软件→文件→打开已有图形→弹出选择文件对话框→点选带有计算区域边界线(可用PL命令绘制闭合多段线)的CAD图(dwg格式)→打开;

2、工程应用→方格网法土方计算→方格网土方计算→根据命令栏提示:选择计算区域边界线→点选计算区域边界线→弹出方格网土方计算对话框→点击“输入数据文件”(高程点坐标)后面的按钮→弹出输入高程坐标数据文件名对话框→点选原始地貌高程点的DAT文件→打开;

3、在设计面下点选平面→输入目标高程(即设计平场标高)→输入方格网宽度→点击确定; 4、根据命令栏提示:请确定方格起始位置:<缺省位置>→直接回车。

类型二:斜面【基准点】

1、打开软件→文件→打开已有图形→弹出选择文件对话框→点选带有计算区域边界线(可用PL命令绘制闭合多段线)的CAD图(dwg格式)→打开; 2、工程应用→方格网法土方计算→方格网土方计算→根据命令栏提示:选择计算区域边界线→点选计算区域边界线→弹出方格网土方计算对话框→点击“输入高程点坐标数据文件”后面的查询按钮→弹出输入高程坐标数据文件名对话框→点选原始地貌高程点的DAT文件→打开; 3、在设计面下点选斜面【基准点】→输入坡度(%)→点击拾取按钮→根据命令栏提示:点取设计面基准点→点取坡顶基准点→根据命令栏提示:指定斜坡设计面向下的方向→点取坡底基准点→在“基准点设计高程”后面的方框中输入坡顶高程→输入方格网宽度→点击确定; 4、根据命令栏提示:请确定方格起始位置:<缺省位置>→直接回车。

类型三:斜面【基准线】

1、打开软件→文件→打开已有图形→弹出选择文件对话框→点选带有计算区域边界线(可用PL命令绘制闭合多段线)的CAD图(dwg格式)→打开; 2、工程应用→方格网法土方计算→方格网土方计算→根据命令栏提示:选择计算区域边界线→点选计算区域边界线→弹出方格网土方计算对话框→点击“输入高程点坐标数据文件”后面的查询按钮→弹出输入高程坐标数据文件名对话框→点选原始地貌高程点的DAT文件→打开; 3、在设计面下点选斜面【基准线】→输入坡度(%)→点击拾取按钮→根据命令栏提示:点取基准线第一点→点取坡顶的第一个基准点→根据命令栏提示:点取基准线第二点→点取坡顶的第二个基准点→软件会自动捕捉两个基准点的中点→根据命令栏提示:指定设计高程低于基准线方向上的一点→点取指定设计高程低于基准线方向上的中点→输入基准线点1和基准线点2的设计高程→输入方格网宽度→点击确定; 4、根据命令栏提示:请确定方格起始位置:<缺省位置>→直接回车。

类型四:完成面高度随机(即完成面不在同一标高)

1、打开软件→文件→打开已有图形→弹出选择文件对话框→点选带有计算区域边界线(可用PL命令绘制闭合多段线)的CAD图(dwg格式)→打开; 2、工程应用→高程点生成数据文件→无编码高程点→输入高程数据文件名→输入高程点(原始地貌)所在图层名→直接回车取高程点实体Z值→生成原始地貌高程.dat文件; 3、工程应用→高程点生成数据文件→无编码高程点→输入高程数据文件名→输入高程点(完成面地貌)所在图层名→直接回车取高程点实体Z值→生成完成面地貌高程.dat文件; 4、工程应用→方格网法土方计算→方格网土方计算→根据命令栏提示:选择计算区域边界线→点选计算区域边界线→弹出方格网土方计算对话框→点击“输入高程点坐标数据文件”后面的查询按钮→弹出输入高程坐标数据文件名对话框→点选原始地貌高程点的DAT文件→打开; 5、等高线-建立三角网-选择建立DTM的方式-由数据文件生成-坐标数据文件名-导入完成面地貌高程.dat文件-完成三角网建立; 6、等高线-三角网存取-写入文件-输入三角网文件名-生成完成面三角网.sjw文件; 7、工程应用→方格网法→方格网法土方计算→根据命令栏提示:选择计算区域边界线→点选计算区域边界线→弹出方格网土方计算对话框→选择土方计算的方式→由图面高程点生成-或点击“输入数据文件”(高程点坐标)后面的按钮输入数据文件→设计面→三角网文件→输入三角网文件→弹出输入三角网数据文件对话框→点选完成面地貌三角网数据文件选择→设置方格网宽度→点击确定;

8、根据命令栏提示:请确定方格起始位置:<缺省位置>→直接回车。

手算步骤:

1、根据高差变化,采用内插法,找到方格网每个边的零点; 2、用直线将零点连接起来,称为零线; 3、计算出用零线围成的封闭区域面积; 4、采用“[(左上角原始地貌高程-左上角设计面高程)+(左下角原始地貌高程-左下角设计面高程)+(右上角原始地貌高程-右上角设计面高程)+(右下角原始地貌高程-右下角设计面高程)]÷高差个数×方格网面积”这个公式即可计算出方格网的挖填方量。 注意事项:零点所在的角高差为0,代表不挖也不填,但仍然要参与方格网平均高差的计算。

特别提示:

1、如果是已经开挖完毕的地块,建议用两期土方的方法计算。先把原始地貌和设计地貌分别建立三角网并储存,然后点工程应用,方格网计算,两期土石方计算,如果没有这个选项就安装高版本CASS。如果是预算,就要用HDCAD,飞时达土方,鸿业土方软件计算了,南方CASS最多只能计算两级放坡,超过2个台阶的边坡就不能计算了。

2、数据快速处理,处理为南方CASS能识别的格式

导入数据显示如图


CASS软件数据基本格式,点号后面有两个引号

快速添加点号后面的引号,

数据导入后,点位数据序号后插入一列,然后另存为,保存类型选择为【CSV(逗号分隔)(*.csv)】,提示“如果另存为CSV(逗号分隔),你工作藏中的部分功能可能会丢失”,选择是保存。

找到刚才保存的文件,进行重命名,把文件格式【*.cav】改为【*.dat】。