分类 网络资源 下的文章

NGINX是一个开源的Web服务器软件。您可以将NGINX部署为独立的Web服务器,也可以部署为其他Web服务器前面的代理(实质上是反向代理)。Nginx 是托管高流量网站的最佳网络服务器之一。

在本教程中,我们将重点介绍如何在Ubuntu 20.04 上将 NGINX 安装为独立的 Web 服务器。

在 Ubuntu 20.04 上安装 NGINX
首先运行sudo apt-get update以检索有关新的和更新的软件包的信息,然后再继续安装NGINX。

Nginx 在 Ubuntu 软件包存储库中可用。因此,使用以下命令很容易安装 Nginx:

sudo apt-get install nginx
检查 NGINX 服务状态
让我们做一个快速检查以确认NGINX服务的状态,运行以下命令:

sudo systemctl status nginx
上述命令的输出确认 NGINX 处于活动状态并正在运行。如果您收到一条消息,指示 NGINX 处于非活动状态、未启动或未运行,则可以通过运行以下命令手动启动 NGINX 服务。

systemctl start nginx
要检查 Nginx 版本,请运行:

sudo dpkg -l nginx
输出显示,在编写本教程时,Nginx 版本 1.18.0正在 Ubuntu 20.04 上运行。

测试 NGINX Web 服务器
确认NGINX服务处于活动状态并正在运行后,您现在可以通过打开首选的Web浏览器并输入安装了NGINX的服务器的IP地址(http://your_server_ip)来测试Web服务器。

您应该会看到标题为“欢迎来到nginx!"
要在端口 443 上允许 NGINX,请执行以下操作:

sudo ufw allow 'Nginx HTTPS'
设置 NGINX 服务器块
如果您想在同一台NGINX Web服务器上托管多个网站,则需要设置服务器块。服务器块也称为虚拟主机(主要在 Apache 中)。

NGINX只预配置了一个服务器块,这是默认网站(/etc/nginx/sites-available)的配置细节存储的地方(/var/www/html)。

一起来看看吧。

sudo ls -l /etc/nginx/sites-available
total 8
-rw-r--r-- 1 root root 2416 Mar 26 2020 default

运行以下命令以显示默认服务器块文件的内容。

sudo cat /etc/nginx/sites-available/default | more
按键盘上的空格键可一次向下滚动一页。您将看到该文件包含默认的服务器配置详细信息,例如侦听端口号,文档根目录(即存储网站内容的基本文件夹),索引文件和服务器名称。

您还应该看到标题为“虚拟主机配置”的部分,如下所示。您可以在此处配置其他网站,但最好创建一个单独的服务器块文件并保留默认文件。
/etc/nginx/sites-available/default

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
#server {
#    listen 80;
#    listen [::]:80;
#
#    server_name example.com;
#
#    root /var/www/example.com;
#    index index.html;
#
#    location / {
#        try_files $uri $uri/ =404;
#    }
#}

同时,复制上面的示例配置信息并将其保存在文本编辑器中。我们将很快使用这些信息。

创建网站根目录
接下来,您需要在 /var/www下创建一个根文件夹来存储其他网站的内容。例如,我将为我的 domain1.com 网站创建一个名为 domain1.com 的文件夹。

注意:您应该将域名 1 替换为您自己的注册域名。您还应该更新DNS记录,以将您的域名指向NGINX Web服务器的公共IP地址。

sudo mkdir /var/www/domain1.com
创建索引文件
索引文件是打开网站时显示的主网页。运行以下命令为其他网站创建索引文件。

sudo nano /var/www/domain1.com/index.html
我在这个例子中使用了nano,但你可以使用你最喜欢的文本编辑器。接下来,您可以复制并粘贴以下 HTML 代码以进行测试。

<!DOCTYPE html>
<html>
<head>
<title>Welcome to Domain1!</title>
<style>
body {
width: 35em;
margin: 0 auto;
font-family: Tahoma, Verdana, Arial, sans-serif;
}
</style>
</head>
<body>
<h1>Welcome to Domain1!</h1>
<p>If you see this page, the Domain1 website is working!</p>
</body>
</html>

保存更改并关闭文本编辑器。

创建服务器块
下一步是创建服务器块文件以保存其他网站的配置详细信息。运行以下命令。

sudo nano /etc/nginx/sites-available/domain1
复制之前保存的示例虚拟主机配置信息,并将其粘贴到新文件中。从“服务器”行开始,确保删除所有#符号以取消注释指令。另外,请记住将“domain1”替换为您自己的注册域名。

# Virtual Host configuration for example.com
#
# You can move that to a different file under sites-available/ and symlink that
# to sites-enabled/ to enable it.
#
server {
       listen 80;
       listen [::]:80;

       server_name domain1.com www.domain1.com;

       root /var/www/domain1.com;
       index index.html;

       location / {
               try_files $uri $uri/ =404;
       }
}

保存更改并关闭此文件。
启用服务器块
要让 NGINX 知道其他网站可用,请运行以下命令以创建指向服务器块文件的符号链接。

ln -s /etc/nginx/sites-available/domain1 /etc/nginx/sites-enabled
测试您的配置
运行sudo nginx -t以测试您的服务器块配置。您应该会看到一条消息,指示一切正常。

sudo nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

您可以运行sudo 服务 nginx重新加载来重新加载配置文件。

测试您的新网站
打开网络浏览器并输入您的新网站地址。您应该看到为新网站创建的索引文件的内容,而不是默认的NGINX网页。
控制NGINX的基本命令
让我们学习基本的Nginx命令来管理你的Web服务器。

重新启动命令将停止该服务,然后重新启动它。

sudo systemctl restart nginx
reload命令告诉 NGINX 重新加载其配置文件,但不停止服务。
sudo systemctl reload nginx

stop命令将停止 NGINX 服务。

sudo systemctl stop nginx
要使Nginx 服务能够在启动时启动,请运行

sudo systemctl enable nginx
注意:默认情况下,Nginx服务启用为在服务器启动时自动启动。

基本NGINX配置和日志文件
/etc/nginx --包含所有 NGINX 配置文件

/etc/nginx/sites-available--包含服务器块文件,这些文件存储为一个或多个网站提供服务的配置详细信息

/etc/nginx/sites-enabled --包含一个或多个已启用网站的配置文件

/etc/nginx/nginx.conf --主配置文件,也读取其他文件中的配置指令

/var/log/nginx/access.log --用于存储有关您网站的所有访问的信息的默认位置

/var/log/nginx/error.log --存储 NGINX 错误的默认位置

结论
通过遵循本指南,您应该能够在 Ubuntu 20.04 服务器上启动并运行一个或多个网站。但是,如果您遇到任何问题,请随时在下面的评论部分告诉我们,我们将尽最大努力为您提供帮助。
转:https://linoxide.com/install-nginx-on-ubuntu-20-04/

挂载GD  到这里结束配置 rclone,下面要把 Google Drive 网盘挂载到云主机/Vps 上和设置开机自启,自动挂载 Google Drive 网盘  首先安装fuse:

apt-get install fuse  #debian

yum install fuse   #centos

新建一个你要挂载的目录,例如我要挂载到'/home/gdrive'

mkdir -p /home/gdrive

再执行挂载命令:

rclone mount gd: /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes

gd 为Rclone的配置名称,比如你在创建配置 rclone 的时候 Name 填的 gd,/home/gdrive 为本地路径(注意空格别漏了);

这里还可以自定义设置网盘里的文件夹路径,例如:

rclone mount gd:backup /home/gdrive --allow-other --allow-non-empty --vfs-cache-mode writes

卸载 Google Drive 磁盘

fusermount -qzu /home/gdrive

挂载只要几秒钟,但终端不会返回成功信息,关闭 SSH 重连即可。  重连后查看是否挂载成功:

df-h

Getting Started with Linux --- mjj版的linux入门教程

本文的首要目的是给予Linux初学者一个简单、易学的教程,以便在看完本文后对Linux系统有一个基础的认识(而非系统级的深入),可以对常见的软件和功能进行配置,甚至可以自己写一写一键脚本。

时间和精力有限,有些内容没有写,其中也肯定有不少错误的地方。如果需要什么内容或提出补充和纠错,可以直接在GitHub上或者我的网站(https://pa.ci/157.html)中发言,如果有时间会添加进去,也欢迎PR来增加内容。

本教程写于2021年下半年,采用的系统为Debian GNU/Linux 11 (bullseye)。

GitHub地址:https://github.com/uselibrary/Getting-Started-with-Linux/

正文内容如下,点击以进行浏览

https://github.com/uselibrary/Getting-Started-with-Linux/blob/main/tutorial.md

目前的大纲如下

0 前言吐槽

1 环境搭建

1.1 系统选择与安装

1.2 常见的命令

1.3 基础文本编辑器nano、vim

1.4 更新系统

2 SSH链接和基础配置

2.1 连接SSH的软件和相关操作

2.2 SSH配置文件介绍和修改

2.3 使用密钥登陆SSH

3 Linux文件系统

3.1 文件系统格式

3.2 文件树、文件夹功能和权限

3.3 示例:挂载U盘

4 Shell/Dash入门

5 Crontab定时任务

6 系统权限

6.1 root和user,以及sudo

6.2 chmod和chown

7.1 开机自启和进程守护

7.2 Timer代替Crontab

8 手动配置系统:

9 网站环境搭建

9.1 宝塔解人忧

9.2 手动搭建

9.2.1 Apache和Nginx

9.2.2 PHP

9.2.3 MySQL和MariaDB

9.2.4 Let's Encrypt, SSL/TLS
来源:https://pa.ci/157.html

RCLONE 官方提供了一键安装脚本

curl https://rclone.org/install.sh | sudo bash
rclone config

备份脚本编写及授权

创建脚本文件:

mkdir /home/Backup

chmod +x /home/Backup

touch /home/Backup/backup.sh
vi /home/Backup/backup.sh

脚本文件内容示例如下,不需要的功能自行在前方加上#号注释掉,删除几天前的备份,数字自行修改即可。其他内容自行按需修改成自己的即可:

#!/bin/bash
# 定义GOOGLE DRIVE的备份目录
GD_PATH="GdriveBackup:Backup"

# 定义备份的目录及文件,不同的目录用空格分开
BACKUP_SRC="/home/wwwroot/omo.moe/usr"

# 定义临时文件存放目录
BACKUP_DST="/home/Backup"

# 设置MYSQL基本信息 
MYSQL_SERVER="localhost"
MYSQL_USER="root"
MYSQL_PASS="your password"

# 定义想要备份的数据库,多个数据库用空格分开
BACKUP_DATABASE="typecho_omo"

# 定义文件前缀名
NOW=$(date +"%Y.%m.%d")
OLD=$(date -d -5day +"%Y.%m.%d")

# 备份网站数据文件
zip -r $BACKUP_DST/auto_fileData_$NOW.zip $BACKUP_SRC

# 备份mysql数据库
mysqldump -u $MYSQL_USER -h $MYSQL_SERVER -p$MYSQL_PASS --databases $BACKUP_DATABASE > $BACKUP_DST/$NOW-auto-Databases.sql

# 使用rclone上传到google drive
rclone copy -v --stats 15s --bwlimit 40M $BACKUP_DST/ --include "$NOW-auto-Databases.sql" --include "auto_fileData_$NOW.zip" $GD_PATH

# 删除本地的临时文件
rm -f $BACKUP_DST/$NOW-auto-Databases.sql $BACKUP_DST/auto_fileData_$NOW.zip

# 删除5天前的备份
rclone delete $GD_PATH/ --include "$OLD-auto-Databases.sql" --include "auto_fileData_$OLD.zip"

 

使用chmod指令赋予执行权限:

chmod +x /home/Backup/backup.sh

三、创建自动备份任务并测试

使用 crontab 每天4点定时执行自动备份脚本:

crontab -e

复制以下内容粘贴并输入:wq保存:

0 4 * /bin/bash /home/Backup/backup.sh >/dev/null 2>&1

手动测试看看脚本是否正确运行:

bash /home/Backup/backup.sh

时区设置为东八区:

timedatectl set-timezone Asia/Shanghai

重启定时任务:

service crond restart

重启系统日志:

service rsyslog restart

最后观察下系统日志尾巴状态,是否时区已经调整成功:

tail -f /var/log/cron

转:https://omo.moe/archives/616/

进入 mysql5.7 容器

sudo docker exec -it mysql5.7 bash

mysql -uroot -p123456

创建用户,密码随意

mysql> create user '239239'@'%' identified by '123456';
mysql> grant all privileges on *.* to '239239'@'%' with grant option;
mysql> flush privileges;

创建数据库
mysql> create database 239239;