首页
Linux常用
docker常用
关于
Search
1
docker安装MDCX
276 阅读
2
iStoreOS上使用WireGuard
213 阅读
3
麒麟KylinV10离线下载安装包及安装
210 阅读
4
麒麟v10系统openssh升级OpenSSH_10.0p2-OpenSSL 3.4.2
77 阅读
5
UNRAID增加和缩小虚拟机虚拟磁盘大小
64 阅读
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
Tomcat
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
硬件
登录
Search
标签搜索
nginx
数据库
unraid
PVE
麒麟
dockerfile
同步
wow服务器
装机硬件
宏
v2ray
直通
电视盒子
相册
黑裙7.0.1
远程穿透
定时
ssh
emby
symlink
奥黛丽·逐爱者
累计撰写
132
篇文章
累计收到
7
条评论
首页
栏目
默认分类
docker
容器安装
Linux
数据库
群辉
软路由
unRAID
PVE
Nginx
Tomcat
wow
杂项
图床
飞牛
转载微信公众号文章
Docker学习
Linux学习
硬件
页面
Linux常用
docker常用
关于
搜索到
132
篇与
奥黛丽·逐爱者
的结果
2024-04-03
Nginx 设置开机自启
在生产环境中,如果我们的服务器意外重启,此时要是 Nginx 没有随服务器启动起来,我们的 Web 站点就会是无应答的状态,这会给我们带来不同程度损失。因此我们需要设置 Nginx 开机自启。Ubuntu 设置开机自启以下所有命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。在 Ubuntu 和 Debian 下,我们通过 update-rc.d 设置 Nginx 的开机启动。经实验,以下步骤适用于 Ubuntu 16.04、18.04、20.04 版本的系统。创建启动脚本在 Linux 系统的 /etc/init.d/ 目录下创建 nginx 文件:vim /etc/init.d/nginx往该文件内写入以下脚本内容(该脚本内容来自网络):#! /bin/sh # chkconfig: 2345 55 25 # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and # run 'update-rc.d -f nginx defaults', or use the appropriate command on your # distro. For CentOS/Redhat run: 'chkconfig --add nginx' ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO # Author: licess # website: http://lnmp.org PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin NAME=nginx NGINX_BIN=/usr/local/nginx/sbin/$NAME CONFIGFILE=/usr/local/nginx/conf/$NAME.conf PIDFILE=/usr/local/nginx/logs/$NAME.pid case "$1" in start) echo -n "Starting $NAME... " if netstat -tnpl | grep -q nginx;then echo "$NAME (pid `pidof $NAME`) already running." exit 1 fi $NGINX_BIN -c $CONFIGFILE if [ "$?" != 0 ] ; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Stoping $NAME... " if ! netstat -tnpl | grep -q nginx; then echo "$NAME is not running." exit 1 fi $NGINX_BIN -s stop if [ "$?" != 0 ] ; then echo " failed. Use force-quit" exit 1 else echo " done" fi ;; status) if netstat -tnpl | grep -q nginx; then PID=`pidof nginx` echo "$NAME (pid $PID) is running..." else echo "$NAME is stopped" exit 0 fi ;; force-quit) echo -n "Terminating $NAME... " if ! netstat -tnpl | grep -q nginx; then echo "$NAME is not running." exit 1 fi kill `pidof $NAME` if [ "$?" != 0 ] ; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop sleep 1 $0 start ;; reload) echo -n "Reload service $NAME... " if netstat -tnpl | grep -q nginx; then $NGINX_BIN -s reload echo " done" else echo "$NAME is not running, can't reload." exit 1 fi ;; configtest) echo -n "Test $NAME configure files... " $NGINX_BIN -t ;; *) echo "Usage: $0 {start|stop|force-quit|restart|reload|status|configtest}" exit 1 ;; esac修改部分参数如果你的 Nginx 是通过编译安装的,则需要根据实际安装时的设置,修改启动脚本中的几个参数(大约在第):# 如果是按照我方式编译安装的,则不用修改,默认参数值就是我的实际安装位置 NGINX_BIN=/usr/local/nginx/sbin/$NAME CONFIGFILE=/usr/local/nginx/conf/$NAME.conf PIDFILE=/usr/local/nginx/logs/$NAME.pid添加执行权限上述脚本保存为 /etc/init.d/nginx ,然后设置文件的执行权限:# 给所有用户给予可执行权限 chmod a+x /etc/init.d/nginx至此就可以通过下面指令控制 Nginx 的启动、停止和重新加载了:# 启动 /etc/init.d/nginx start # 停止 /etc/init.d/nginx stop # 重新加载配置 /etc/init.d/nginx reload添加至开机自启动现在将 Nginx 服务加入开机自启动:# 设置开机启动 sudo update-rc.d nginx defaults # 启动 Nginx sudo /etc/init.d/nginx start当然了,如果需要关闭开机启动的功能:# 取消开机启动 sudo update-rc.d -f nginx remove{lamp/}CentOS 6.x 设置开机自启以下所有命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。创建启动脚本在 Linux 系统的 /etc/init.d/ 目录下创建 nginx 文件:vim /etc/init.d/nginx往该文件内写入以下脚本内容(该脚本内容来自 自官方网站 - Red Hat NGINX Init Script ):#!/bin/sh # # nginx - this script starts and stops the nginx daemon # # chkconfig: - 85 15 # description: NGINX is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /etc/nginx/nginx.conf # config: /etc/sysconfig/nginx # pidfile: /var/run/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/etc/nginx/nginx.conf" [ -f /etc/sysconfig/nginx ] && . /etc/sysconfig/nginx lockfile=/var/lock/subsys/nginx make_dirs() { # make required directories user=`$nginx -V 2>&1 | grep "configure arguments:.*--user=" | sed 's/[^*]*--user=\([^ ]*\).*/\1/g' -` if [ -n "$user" ]; then if [ -z "`grep $user /etc/passwd`" ]; then useradd -M -s /bin/nologin $user fi options=`$nginx -V 2>&1 | grep 'configure arguments:'` for opt in $options; do if [ `echo $opt | grep '.*-temp-path'` ]; then value=`echo $opt | cut -d "=" -f 2` if [ ! -d "$value" ]; then # echo "creating" $value mkdir -p $value && chown -R $user $value fi fi done fi } start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 make_dirs echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop sleep 1 start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $prog -HUP retval=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac修改部分参数如果你的 Nginx 是通过编译安装的,则需要根据实际安装时的设置,修改启动脚本中的两个参数(大约在第 22 行和第 25 行):# 修改成 Nginx 执行程序的路径,例如我的一般是:/usr/local/nginx/sbin/nginx nginx="/usr/sbin/nginx" # 修改成配置文件的路径,例如我的一般是:/usr/local/nginx/conf/nginx.conf NGINX_CONF_FILE="/etc/nginx/nginx.conf"还需要修改 PID 文件路径,大约在启动脚本中的第 11 行可以看到被注释的默认路径,在下面加一行,手动指定成和 nginx.conf 文件中的 PID 路径一致即可:设置成和 nginx.conf 中一致。例如我的一般是:/usr/local/nginx/logs/nginx.pid # pidfile: /var/run/nginx.pid pidfile: /usr/local/nginx/logs/nginx.pid添加执行权限上述脚本保存为 /etc/init.d/nginx ,然后设置文件的执行权限:给所有用户给予可执行权限chmod a+x /etc/init.d/nginx至此就可以通过下面指令控制 Nginx 的启动、停止和重新加载了:# 启动 /etc/init.d/nginx start # 停止 /etc/init.d/nginx stop # 重新加载配置 /etc/init.d/nginx reload添加至开机自启动现在将 Nginx 服务加入 chkconfig 管理列表:# 添加 Nginx 启动脚本为 chkconfig 管理的一个服务 chkconfig --add /etc/init.d/nginx # 将 Nginx 加入开机自启 chkconfig /etc/init.d/nginx on当然了,如果需要关闭开机启动的功能:# 查看该服务进程状态 chkconfig --list nginx # 关闭 Nginx 开机自启 chkconfig /etc/init.d/nginx off # 删除 chkconfig 管理的的 Nginx 启动服务(如果确实不需要了) chkconfig --del /etc/init.d/nginx开机自启脚本提供的快捷命令通过 Nginx 开机自启脚本本身提供了一些 Nginx 常用操作的快捷命令,一旦我们通过这个脚本实现开机自启后,就可以通过这些快捷命令来操作 Nginx 了:# 启动 Nginx /etc/init.d/nginx start # 重新加载 Nginx 配置 /etc/init.d/nginx reload # 停止 Nginx /etc/init.d/nginx stop这些命令通过看脚本代码就能找到。{lamp/}CentOS 7.x 设置开机自启以下所有命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。在 CentOS 7.x 版本的系统开始,就不太好通过 chkconfig + Red Hat NGINX Init Script 的方式来设置 Nginx 的开机启动了。因为会留下了一个 bug:通过 /etc/init.d/nginx 脚本方式来控制 Nginx 的启动、停止时,start 一直卡着(实际端口是开启了,必须通过 Ctrl + C 强制关闭),stop 不生效(提示成功,但是端口没关闭)。那么对于 CentOS 7.x 系统,可以通过 systemd 来管理 Nginx。建立服务文件新建文件vim /usr/lib/systemd/system/nginx.service往该文件内写入以下内容(内容模版参考官网 NGINX systemd service file ):[Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/run/nginx.pid ExecStartPre=/usr/sbin/nginx -t ExecStart=/usr/sbin/nginx ExecReload=/usr/sbin/nginx -s reload ExecStop=/bin/kill -s QUIT $MAINPID PrivateTmp=true [Install] WantedBy=multi-user.target文件内容解释:[Unit]:服务的说明 Description:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:启动、重启、停止命令全部要求使用绝对路径 [Install]服务安装的相关设置,可设置为多用户修改部分参数如果你的 Nginx 是通过编译安装的,则需要根据实际安装时的设置,修改文件中的部分参数,修改后的示例如下:[Unit] Description=The NGINX HTTP and reverse proxy server After=syslog.target network-online.target remote-fs.target nss-lookup.target Wants=network-online.target [Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target添加执行权限给上述文件添加执行权限:chmod +x /usr/lib/systemd/system/nginx.service添加至开机自启动设置开机自启动:systemctl enable nginx.serviceNginx 服务管理此时可以使用一些快捷命令进行 Nginx 服务管理:# Nginx 启动 systemctl start nginx.service # 查看 Nginx 服务当前状态 systemctl status nginx.service # Nginx 重载 systemctl reload nginx.service # Nginx 停止 systemctl stop nginx.service # 重新启动 Nginx 服务 systemctl restart nginx.service # 停止 Nginx 的开机自启动 systemctl disable nginx.serviceNginx 启动日志查看:journalctl -f -u nginx.servicesystemd 提供的一些命令查看所有已启动的服务:systemctl list-units --type=service命令集合:# 查看所有开机启动项 systemctl list-unit-files --type=service | grep enabled # 查询服务是否开机启动 systemctl is-enabled servicename.service # 开机运行服务 systemctl enable *.service # 取消开机运行 systemctl disable *.service # 启动服务 systemctl start *.service # 停止服务 systemctl stop *.service # 重启服务 systemctl restart *.service # 重新加载服务配置文件 systemctl reload *.service # 查询服务运行状态 systemctl status *.service # 显示启动失败的服务 systemctl --failed注:* 代表某个服务的名字,如 http 的服务名为 httpd。
2024年04月03日
4 阅读
0 评论
0 点赞
2024-04-03
Nginx 常用命令
Nginx 操作的命令# 查看 Nginx 版本 /usr/local/nginx/sbin/nginx -v # 检查配置文件 ngnix.conf 的正确性 /usr/local/nginx/sbin/nginx -t # 启动 Nginx 服务 /usr/local/nginx/sbin/nginx # 启动 Nginx 服务,-c 指定配置文件的路径 /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf # 重新加载配置 /usr/local/nginx/sbin/nginx -s reload # 停止 Nginx 服务(快速关闭,不管有没有正在处理的请求) /usr/local/nginx/sbin/nginx -s stop # 安全退出 Nginx 服务(在退出前会完成已经接受的连接请求,比较优雅) /usr/local/nginx/sbin/nginx -s quitLinux 检查的命令# 查看 Nginx 进程 ps -ef | grep nginx # 检查 Nginx 启动的端口 netstat -lntup | grep nginx服务器防火墙相关命令如果 Nginx 启动成功后,从浏览器访问还是连接不上,按如下步骤排查:检查阿里云安全组是否开放端口(通过阿里云后台)检查腾讯云实例管理防火墙是否开放端口(通过腾讯云后台)服务器防火墙是否开放端口
2024年04月03日
14 阅读
0 评论
0 点赞
2024-04-03
Nginx 的卸载
我一般都是通过源码编译安装的方式,所以这里主要介绍如何卸载编译安装的 Nginx。编译安装的 Nginx 卸载非常方便,直接将 Nginx 的安装目录删除即可,同时可以把 Nginx 使用的日志目录和临时目录一并删除。停止 Nginx 服务首先输入命令 ps -ef | grep nginx 检查一下 Nginx 服务是否在运行,在卸载之前需要先停止服务。删除 Nginx 安装目录# 查找安装路径 whereis nginx # 如果是按照我上一篇介绍的步骤安装,删除安装目录的命令如下: rm -rf /usr/local/nginxUbuntu 删除 Nginx 自启动如果安装了 Nginx 自启动(后面章节会讲),按照如下命令将自启动脚本删除。# 进入 /etc/init.d 查看哪些服务进程是开机自启动的 cd /etc/init.d ls # 取消 Nginx 开机启动 update-rc.d -f nginx remove # 删除 Nginx 自启动脚本 rm /etc/init.d/nginxCentOS 7.x 删除 Nginx 自启动在 CentOS 7.x 中,如果你跟我一样是通过 systemd 实现 Nginx 自启动的(后面章节会讲),按照如下命令将自启动脚本删除。# 查看开机启动项里有没有 nginx.service systemctl list-unit-files --type=service | grep enabled # 停止 Nginx 服务进程 systemctl stop nginx.service # 使 Nginx 开机不启动 systemctl disable nginx.service # 删除 Nginx 服务文件 rm /usr/lib/systemd/system/nginx.servicefind 查找相关文件并删除查找并删除 Nginx 相关文件,如日志目录和临时目录等。# 查找相关文件 find / -name nginx # 判断是否能删除后,执行删除命令 ...
2024年04月03日
14 阅读
0 评论
0 点赞
2024-04-03
Nginx 的安装
Windows 下安装Windows 下的 Nginx 不能用于生产,一般用于开发目的或者尝鲜体验。下载 Nginx从 官方网站 下载稳定版本。以 nginx/Windows-1.18.0 为例,直接下载 nginx-1.18.0.zip。下载后解压,解压后如下:启动 Nginx有两种方法启动 Nginx:直接双击 nginx.exe ,双击后一个黑色的弹窗一闪而过。(不建议用这种方式)打开 cmd 命令窗口,切换到 Nginx 解压目录下,输入命令 nginx.exe ,回车即可。检查 Nginx 是否启动成功直接在浏览器地址栏输入网址 http://localhost:80 回车,出现以下页面说明启动成功:配置监听Nginx 的配置文件是 /conf 目录下的 nginx.conf ,默认配置的 Nginx 监听的端口为 80,如果 80 端口被占用可以修改为未被占用的端口即可。server { listen 80; server_name localhost;当我们修改了 Nginx 的配置文件 nginx.conf 时,不需要关闭 Nginx 后重新启动 Nginx,只需要执行命令 nginx -s reload 即可让改动生效。关闭 Nginx如果使用 cmd 命令窗口启动 Nginx,关闭 cmd 窗口是不能结束 Nginx 进程的,可使用两种方法关闭 Nginx:输入 Nginx 命令 nginx -s stop (快速停止 Nginx)或 nginx -s quit (完整有序的停止 Nginx)使用 taskkill:taskkill /f /t /im nginx.exetaskkill 是用来终止进程的/f 是强制终止/t 终止指定的进程和任何由此启动的子进程/im 根据名字指定要终止的进程Linux 下安装有三种安装方式:编译安装:根据源码,根据实际业务需求,需要什么功能,编译时添加相应的模块。这种方式可以让 Nginx 最轻量化安装。自动化安装:配置好安装源,直接通过自动化安装工具安装。这种方式有可能会因为缺少相关依赖而安装失败。CentOS: yum install nginx Ubuntu: apt-get install nginx二进制安装:类似于绿色免安装版,把编译安装好的程序封装起来的一个包。一般采用第一种编译安装的方式。准备依赖环境以下命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。Ubuntu(16.04、18.04、20.04):# 建议先执行下 apt-get 的更新 apt-get update # 安装 gcc 和 g++ 依赖库 apt-get install build-essential apt-get install libtool # 安装 PCRE pcre-devel 依赖库 apt-get install libpcre3 libpcre3-dev # 安装 zlib 依赖库(注意 lib 后面是阿拉伯数字 1,不是字母 l) apt-get install zlib1g-dev # 安装 OpenSSL 依赖库 apt-get install openssl apt-get install libssl-dev # 未安装该库会报 SSL modules require the OpenSSL library.CentOS(7.6):# 安装 gcc 依赖库 yum install gcc-c++ # 安装 PCRE pcre-devel 依赖库 yum install -y pcre pcre-devel # 安装 zlib 依赖库 yum install -y zlib zlib-devel # 安装 OpenSSL 依赖库 yum install -y openssl openssl-develgcc 依赖库:安装 Nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装。PCRE pcre-devel 依赖库:PCRE(Perl Compatible Regular Expressions)是一个 Perl 库,包括 perl 兼容的正则表达式库。Nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 Linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库,Nginx 也需要此库。zlib 依赖库:lib 库提供了很多种压缩和解压缩的方式,Nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要安装 zlib 库。OpenSSL 依赖库:OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。Nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要安装 OpenSSL 库。准备源码包以下命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。从 官方网站 下载稳定版本到任意目录(例如我一般会把软件放到 /opt ),并解压。# 下载 wget http://nginx.org/download/nginx-1.18.0.tar.gz # 解压 tar -zxvf nginx-1.18.0.tar.gz编译安装以下命令,如果你是 root 账户,直接执行即可,不是的话前面加 sudo 获取权限。首先进入 Nginx 安装包的解压目录:cd nginx-1.18.0/下面开始安装 Nginx:# 预编译 ./configure --prefix=/usr/local/nginx --sbin-path=/usr/local/nginx/sbin/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module # 检查是否编译正确 echo $? # 如果返回值是 0,就是执行成功;如果是返回值是 0 以外的值,就是失败。 # 编译 make # 安装 make install在 ./configure 命令后跟了一堆参数,它们分别表示:--prefix:指定当前要安装的 Nginx 主程序目录--sbin-path:安装完成后,使用 Nginx 的命令放在该目录下--user:运行 Nginx 的用户--group:运行 Nginx 的用户组--with-(模块名):为 Nginx 添加的模块比较完整的配置项的含义请参见 官方网站添加 Nginx 用户一般我们会创建一个不能 ssh 登录的帐号,这类账号专门用于启动服务,只是让服务启动起来,但是不能登录系统(提升安全性)。# 为 Nginx 创建一个不能 ssh 登陆的用户(预编译命令中指定的用户和用户组) useradd nginx -s /sbin/nologin -M在 useradd 命令后跟了两个参数,它们分别表示:-s:表示指定用户所用的 shell,此处为 /sbin/nologin ,表示不登录-M:表示不创建用户主目录验证安装成功主要通过 Nginx 能否启动来验证是否安装成功,一般我会运行以下这些命令来测试。# 查找安装路径 whereis nginx # 查看 Nginx 的安装目录 cd /usr/local/nginx # 预编译命令中指定的路径 ls # 查看 Nginx 程序管理命令 cd /usr/local/nginx/sbin # 预编译命令中指定的路径 ls # 查看 Nginx 版本 /usr/local/nginx/sbin/nginx -v # 启动 Nginx /usr/local/nginx/sbin/nginx # 查看 Nginx 进程 ps -ef | grep nginx # 检查 Nginx 启动的端口(默认 0.0.0.0:80) netstat -lntup | grep nginx接下来通过浏览器访问 Nginx(服务器 IP:80),出现以下页面说明启动成功:如果不能访问,就要先看下服务器是不是开启了防火墙但又没开放端口(你可以选择不开防火墙,或者开完防火墙后记得开需要的端口)。# 查看状态, 发现当前是 dead 状态, 即防火墙未开启 systemctl status firewalld # 开启防火墙, 没有任何提示即开启成功 # 再次查看状态, 显示 running 即已开启了 systemctl start firewalld # 开放默认端口号 80, 提示 success, 表示设置成功 firewall-cmd --permanent --zone=public --add-port=80/tcp # 修改后需要重新加载配置才生效 firewall-cmd --reload; # 查看已经开放的端口 firewall-cmd --permanent --list-port # 关闭默认的端口号 80(如果需要的话, 执行这个命令就行了) firewall-cmd --permanent --zone=public --remove-port=80/tcp # 关闭防火墙(如果需要的话, 执行这个命令就行了) systemctl stop firewalld如果使用的是阿里云等云厂家的服务器,80 端口是默认开启的,如果用了其它端口,则需要去云管理平台进行一些设置。大致的入口是:进入云服务管理控制平台 ——> 进入云服务器 ——> 选择实例 ——> 管理。阿里云就找到:本实例安全组 --> 配置规则 --> 添加安全组规则。腾讯云就找到:防火墙 --> 管理规则 --> 添加规则。新增的规则就参考自带的 80 端口写就好了。这里就是测一下能不能启停,生产环境要把 Nginx 加到系统自启。现在先关闭 Nginx。# 关闭 Nginx /usr/local/nginx/sbin/nginx -s stop
2024年04月03日
16 阅读
0 评论
0 点赞
2024-03-31
rsync-server安装的注意事项
rsync-server码头工人:https://hub.docker.com/r/eeacms/rsyncGithub上:https://github.com/eea/eea.docker.rsync为了能够连接到此 rsync 服务器,您需要将客户端的 SSH 密钥添加到变量 SSH_AUTH_KEY_1。您可以通过其他变量 SSH_AUTH_KEY_2、SSH_AUTH_KEY_3 等传递多个密钥。此容器的优点是:您可以仅为 rsync 定义非默认 SSH 端口(此容器的默认值为 5533)您可以定义特定路径,而不是允许访问整个服务器(默认为 /mnt/user)文件访问是只读的(防止勒索软件)如何创建SSH密钥?一、登录到客户端计算机并创建 SSH 密钥,如下:ssh-keygen -t rsa -b 4096二、按 3x ENTER 使用默认位置并创建不带密码的密钥。现在使用以下命令显示您的 SSH 密钥:cat ~/.ssh/id_rsa.pub复制完整的行,例如“ssh-rsa AAA...”。username@client“并将其粘贴到字段”SSH_AUTH_KEY_1“中,然后启动此容器。三、您可以按如下方式测试来自客户端的连接(将“tower”替换为服务器名称或域):rsync --dry-run --itemize-changes --archive -e 'ssh -p 5533' root@tower:/mnt/user/system/ /tmp{collapse}{collapse-item label="docker安装" open}eeacms/rsync 镜像确实支持 SSH_AUTH_KEY_1 环境变量,但你的命令缺少了一个关键参数:server根据官方文档 ,运行 rsync 服务端时必须指定 server 参数:docker run --name=rsync_server -d -p 2222:22 \ -e SSH_AUTH_KEY_1="<SSH KEY>" \ eeacms/rsync server # ← 注意这里的 server如果命令缺少最后的 server 参数,导致容器可能以默认模式(client)运行,而不是服务端模式。修正后的命令docker run -d \ --name rsync-server \ -p 5533:22 \ -e SSH_AUTH_KEY_1="ssh-rsa AAAA^Oc5TtSSw== root@iZ23gmhyjrgZ" \ -v /data/vdb/docker/compose/oracle/app/backup:/data \ #-v 其它路径 \ eeacms/rsync server # ← 加上 server{/collapse-item}{collapse-item label="折叠标题二"} 折叠内容二{/collapse-item}{/collapse}
2024年03月31日
19 阅读
0 评论
0 点赞
1
...
19
20
21
...
27