Huawei Cloud Yaoyun Server L instance evaluation | Deployment of personal online e-book library caliber

1. Introduction to Yunyao Cloud Server L Instance

1.1 Introduction to cloud server

Cloud server is a simple, efficient, safe and reliable computing service with elastically scalable processing capabilities. Its management method is simpler and more efficient than physical servers. Users can quickly create or release as many cloud servers as they want without purchasing hardware in advance. Cloud servers help you quickly build more stable and secure applications, reduce the difficulty of development and operation and maintenance and overall IT costs, allowing users to focus more on core business innovation.

Huawei Cloud has newly launched a new product of Huawei Cloud server instances. Huawei Cloud servers have the four advantages of being intelligent and non-stuck, affordable and easy to use, easier to get started, and worry-free management, thus helping you quickly get to the cloud!

Insert image description here

From the end of August to mid-October, if you participate in the Huawei Cloud Server evaluation event, you can get a coupon of 54.99 yuan, and you can use the Huawei Cloud Yaoyun Server L instance for free 2核|2G|3Mbpsfor one month, providing a large number of system images and application images. , convenient for development and deployment.

Insert image description here
There is also a limited-time flash sale area , 华为云云耀云服务器L实例with daily limited sales, and the discount is limited to 1 order, while stocks last!

Insert image description here

1.2 Application scenarios

Yunyao Cloud Server L instances are suitable for supporting lightweight, low-load and moderately visited application scenarios such as small websites, web applications, blogs, forums, and cloud development environments.

  • 电商店铺管理: Quickly build an independent foreign trade station and store management environment to provide stable and high-quality services to customers at home and abroad.
  • 企业建站: Provides commonly used website building application templates to quickly build websites that meet business needs, such as corporate official websites, information, blogs, forums, e-commerce, etc.
  • 小程序后台: Suitable for building WeChat applets and public account backend services to reduce maintenance costs and allow users to focus on business development.
  • 小游戏: Help customers build PC stand-alone games, casual games, etc., quickly go online and have stable performance.
  • 开发测试: Suitable for building ready-to-use remote development and testing projects in the cloud, running scheduled tasks, automatic tasks, etc.
  • 云端学习: Help students and developers do some experiments, papers, etc. in the cloud.
  • 搭建博客/论坛: It is convenient for individual developers to set up blogs and forums, and it is cost-effective.

1.3 Support mirroring

mirror Introduction
system image Only the initial is included 操作系统, not any 应用数据sum 环境配置. After using a system image to create a cloud server, the server will have a pure operating system environment. You can install applications by yourself based on the business needs of the instance.
Application image Contains applications and related 初始化数据、应用所需的运行环境及操作系统. After you create a cloud server using an application image, you can directly use the preset application or customize the application configuration according to actual business needs. Reduces the steps of application uploading and installation.

Insert image description here

  • System image information provided by Yunyao Cloud Server L instance
Image name illustrate
Huawei Cloud EulerOS Huawei Cloud EulerOS (HCE OS for short) is a Linux operating system built on Huawei's open source community openEuler. It provides a cloud-native, high-performance, secure and stable execution environment to develop and run applications, helping enterprise customers quickly migrate to the cloud and developers innovate. .
CentOS CentOS is a popular open source Linux distribution that is recompiled from the RHEL (Red Hat Enterprise Linux) source code.
Ubuntu Ubuntu is one of the most popular Linux distributions. It is an open source free software based on the Debian Linux operating system. Its ease of use and stability are excellent, and it has very powerful and mature community resources.
Windows Server Windows Server is a series of operating systems created by Microsoft specifically for servers.
  • Application image information provided by Yunyao Cloud Server L instance
Image name illustrate
Enterprise website building systemWordpress Wordpress was originally a blog system, and then gradually evolved into a free CMS (content management system/website building system). It is now a global website building platform. This system is famous for its ease of use, easy scalability (plug-ins, templates, secondary development), powerful functions, beautiful appearance, search engine friendliness, etc.
LinuxVisualization宝塔面板 Pagoda Panel is a popular PHP integrated environment management and server operation and maintenance management tool. Supports web-side management, one-click creation of websites, FTP, databases, and SSL; security management, scheduled tasks, file management, and PHP multi-version coexistence and switching.
Enterprise integrated ERP systemOdoo Odoo is an open source ERP/CRM software for global users. It is developed using Python+PostgreSQL and has more than 730 partners and 2 million users. It has a powerful and flexible system architecture, and its product iteration speed is also very fast. The difference between its versions lies in the updates of the user interface and functional modules. Users can modify, upgrade, and add new functions in a modular manner without modifying the core code. Commonly used modules include: procurement management, sales management, inventory management, financial management, goods management, marketing management, customer relationship management, production management, and personnel. Management, service support, e-commerce, website building, etc. Suitable for manufacturing, retail chains, services, e-commerce, foreign trade and other industries.
e-commerce systemPrestaShop PrestaShop is a full-featured, cross-platform, free and open source e-commerce solution developed using PHP+MySQL. More than 40,000 online stores around the world have adopted Prestashop for deployment. Prestashop is based on Smarty engine programming design. It has a modular design and strong scalability. It can easily implement browsing transactions in multiple languages ​​and currencies, and supports Paypal and other payment methods. It is a good choice for building foreign trade websites.
Data exploration and visualization platformSuperset Apache Superset is an open source data analysis and visualization platform (formerly known as Panoramix and Caravel). This tool is very distinctive in terms of visualization, ease of use and interactivity. Users can easily perform visual analysis of data. Superset is also an enterprise-grade business intelligence web application.
Docker visual running environmentPortainer Portainer is a graphical management tool for Docker, written in GO language. It provides status display, rapid deployment of application templates, basic operations for Docker (containers, mirrors, networks, database logical volumes), log display, container console and other functions.
Enterprise cloud disk systemNextcloud Nextcloud is an open source cloud storage software for building your own private network disk. It is developed using PHP+MySQL. It provides multiple synchronization clients to support access from multiple devices. Users can easily synchronize with the data stored on the server. and share data. Other sync sources are also supported: Dropbox, FTP, OpenStack Object Storage, SMB, WebDAV, SFTP.
One-stop DevOpsplatformGitLab GitLab was originally an open source source code warehouse management project designed to help teams collaborate on software development. By delivering new features at industry-leading speed, GitLab now offers a complete DevOps approach to the software development and operations lifecycle. GitLab features include: everything you need to project manage, plan, create, validate, package, publish, configure, monitor, and secure your application.
Network statistical analysis platformMatomo Matomo is a powerful open source web analytics platform that takes full data ownership and ensures business compliance with GDPR and CCPA. Especially for business software, Matomo's enhanced search engine optimization and conversion optimization capabilities will greatly enhance your capabilities in the field of digital marketing.
Live video serverSRS SRS is a simple and efficient real-time video server that supports multiple real-time streaming protocols such as RTMP, WebRTC, HLS, HTTP-FLV, and SRT. Based on coroutine technology, there is no problem that asynchronous callbacks are difficult to maintain. Supports cloud native standards (Docker images, K8s deployment, observability logs and monitoring indicators, etc.) and provides cloud SRS threshold-free applications. SRS focuses on real-time streaming media gateways to achieve access, mutual conversion and continuous iteration of real-time streaming media protocols, such as RTMP, HLS, WebRTC, HTTP-FLV and SRT, etc.

2. Yunyao Cloud Server L instance configuration

2.1 Reset password

After the purchase is completed, a text message will be sent through your cloud server information, focusing on the public IP address and user name. First we need to open your server console, complete the password
Insert image description here
reset, check Automatically restart, and click OK.
Insert image description here

2.2 Server connection

  • Method 1 : Log in using the VNC method provided by the console

  • Method 2 : Use Putty, Xshell and other tools to log in to the Linux elastic cloud server.
    a) Download and install the login tool, such as Putty.
    b) Enter the elastic public IP.
    c) Enter the username: root, password, and click "OK".

  • Method three : Use the Linux/Mac OS system host to log in to the Linux elastic cloud server.
    a) Execute the connection command.
    ssh elastic public IP
    , for example: ssh 123.xxx.xxx.456
    b) Enter the user name: root, password, and log in to the server.

I personally use MobaXtermthis software, add SSH connection, output 公网IP, user name and port (default 22), and connect.

Insert image description here

2.3 Security group configuration

A security group is a logical grouping that provides access policies for cloud servers in the same VPC. Users can define various access rules in the security group. When the cloud server joins the security group, it will be protected by these access rules.

The system creates a default security group for each network card by default. The rules of the default security group are to allow all data packets in the outbound direction and restrict access in the inbound direction. You can use the default security group or create a custom security group if needed.
Insert image description here
You mainly need to fill in the priority (fill in 1 by default) and protocol port information (generally select the port that your project needs to expose), and click OK for other defaults. Security group configuration is mainly to expose ports to the external network for access.
Insert image description here
If you are still unclear, you can refer to the document: Security Group Configuration Example

3. Deploy caliber

3.1 caliber introduction

Caliber-Web is a web application that provides a simple and intuitive interface to browse, read and download e-books using a valid Caliber database.

main feature

  • Modern, responsive Bootstrap 3 HTML5 interface
  • Fully graphical setup
  • Comprehensive user management, allowing fine-grained management based on user permissions
  • Management interface
  • Multilingual user interface, supporting more than 20 languages
  • OPDS source for e-book reader applications
  • Advanced search and filtering options
  • Create a custom book collection (bookshelf)
  • Support e-book metadata editing and deletion
  • Download metadata from various sources (extendable via plugins)
  • Convert e-books via Caliber binary files
  • Restrict logged-in users from downloading e-books
  • Support public user registration
  • Send e-books to e-readers with one click
  • Sync your Kobo device with your Caliber library
  • In-browser e-book reading supports multiple formats
  • Upload new books in various formats, including audio formats
  • Support Caliber custom columns
  • Hide content per user based on category and custom column content
  • self-update function
  • "Magic Link" login for easy access on e-readers
  • Supports LDAP, Google/GitHub OAuth and proxy authentication

Insert image description here

Caliber can create a personal library, which not only records the books you have read, but also archives the e-book files of the corresponding books, which can be downloaded at any time. You can create book lists, rate, classify, tag books, search for keywords, view book introductions, etc. You can also read online without loading the client, which is very convenient. In addition, there are no ads and it is free. There is no inability to watch after the membership period, no inability to read without the external network, no data reporting, and no content deletion.

  • Official website: https://calibre-ebook.com/
  • Github:https://github.com/janeczku/calibre-web

3.2 Docker environment setup

This server environment is an ubuntu system image, and you need to install the docker environment yourself.

Server category system image Intranet IP address Docker version Operating system version
Yunyao cloud server L instance Ubuntu 192.168.0.168 20.10.24 Ubuntu 22.04.1 LTS

Install docker using snapcommand

root@hcss-ecs-f632:~# snap install docker
docker 20.10.24 from Canonical✓ installed

Test dockerwhether the installation is successful

root@hcss-ecs-f632:~# docker -v
Docker version 20.10.24, build 297e128

Check dockerservice status

root@hcss-ecs-f632:~# systemctl status docker
● docker.service - Docker Application Container Engine
     Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
     Active: active (running) since Thu 2023-09-14 14:25:21 CST; 2 days ago
TriggeredBy: ● docker.socket
       Docs: https://docs.docker.com
   Main PID: 30672 (dockerd)
      Tasks: 73
     Memory: 137.0M
        CPU: 2min 37.906s
     CGroup: /system.slice/docker.service

Check docker composeversion

root@hcss-ecs-f632:~# docker compose version
Docker Compose version v2.17.2

3.3 caliber deployment

  • Download image

Pull the caliber image from docker hub, address: https://hub.docker.com/r/linuxserver/calibre-web

root@hcss-ecs-f632:~# docker pull linuxserver/calibre-web
Using default tag: latest
latest: Pulling from linuxserver/calibre-web
ec7797702745: Already exists
07a0e16f7be1: Already exists
af6616957726: Already exists
f98603590030: Already exists
f3ce711537bb: Already exists
0631cc002f75: Already exists
e84f7b29d280: Pull complete
35bfe7b730a2: Pull complete
Digest: sha256:b7ca05d53c1f30026dcc1de7baee4c1716e0c082aaf05e19e06ee6c18c0e5636
Status: Downloaded newer image for linuxserver/calibre-web:latest
docker.io/linuxserver/calibre-web:latest
  • Configure security group

On the security group management page of Huawei Cloud Yaoyun Server L instance, add inbound rules. Next, when we start the service, we need to listen to port 8083, so we add the security group as the TCP:8083protocol port.

Insert image description here

  • Start service

Start using docker-composethe method, first create the filedocker-compose.yml

version: "2.1"
services:
  calibre-web:
    image: linuxserver/calibre-web:latest
    container_name: calibre-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - DOCKER_MODS=linuxserver/mods:universal-calibre #optional
      - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional
    volumes:
      - ./config:/config
      - ./books:/books
    ports:
      - 8083:8083
    restart: unless-stopped
  • Volumes: Maps the file path inside the container to the local
  • ports: Configure access ports

If you save the above code snippet in a file called docker-compose.yml, you can simply run from the same folder to docker compose up -dautomatically pull the caliber image and create and start a container. upIndicates starting the service and -dexecuting it in the background. docker-compose downCommands are used to stop and clean up docker-compose upservices started by .

root@hcss-ecs-f632:~/calibre# docker-compose up -d
Creating network "calibre_default" with the default driver
Creating calibre-web ... done
  • Check container status

Check the caliber container status to ensure that the container starts normally

root@hcss-ecs-f632:~/calibre# docker ps
CONTAINER ID   IMAGE                                    COMMAND                  CREATED          STATUS                 PORTS                                                                           NAMES
b4fd1fb7f56d   lscr.io/linuxserver/calibre-web:latest   "/init"                  36 minutes ago   Up 36 minutes          0.0.0.0:8083->8083/tcp, :::8083->8083                          /tcp             calibre-web
  • address

Intranet: http://localhost:8083
External network: http://Public IP:8083

  • Access results

Insert image description here

If this page appears, the deployment of caliber server is successful.

3.4 use of caliber

Default username: admin, Default password: admin123, enter username and password to complete login, please change the password later.

Insert image description here
Database settings: After logging in, you will enter the database configuration page, fill in the form /books, click save, see the prompt Database Settings updated, and then you can connect 上传to 编辑the bookshelf

Here you need to install the caliber client, create a new bookshelf, then obtain metadata.dbthe files automatically created by the software in the caliber installation directory, put them in the folder metadata.dbcreated by docker , and set the read and write permissionsbookschmod 777 -R books

Insert image description here

For easier viewing, click on the upper right corner adminand change the language to Simplified Chinese

Insert image description here

Enable upload configuration: 管理权限 - 配置 - 编辑基本配置 - 功能配置 - 启用上传, check it, and click Save

Allowed upload formats: fb2, kepub, odt, pdf, cbr, djvu, azw, html, ogg, doc, mobi, txt, cbt, wav, epub, cbz, flac, azw3, mp4, m4a, m4b, docx, rtf ,mp3,prc,opus,lit

Insert image description here

Wait for the prompt Calibre-Web 配置已更新, refresh the web page, and you will see 上传书籍the button

Insert image description here

Recommend a website for downloading e-books zlibrary(currently available): https://zlibrary-east.se/

Now upload a local e-book file in PDF format, and the cover information will be automatically obtained, which seems to be the first page of the book. The author information of the book title seems to be automatically recognized based on the file name. You can also modify or add certain information yourself. , click Save, and you will see a prompt 已成功更新元数据indicating that the upload was successful.

Insert image description here

After the upload is successful, a list of books will be displayed on the home page.

Insert image description here

Click on the book to view basic information, download, read online, archive and mark as read, and re-edit the book information.

Insert image description here

Use the online reading feature to view the book

Insert image description here

caliber also supports advanced search functions to facilitate finding the books you want, which requires supplementing detailed book information. caliber uses sqlitea database and has good compatibility. The size of a book is usually around 20M1G. Generally, 1G storage is enough to store dozens or hundreds of books and novels, which is convenient for offline viewing and book backup.

Insert image description here

Here 书籍列表, you can more easily view all uploaded books and their information

Insert image description here

booksLet’s check the contents of caliber’s mapping file path

root@hcss-ecs-f632:~/calibre/books# ls
'Doug Sillars'   metadata.db   任玉刚
  • metadata.db: stores book information
  • Other folders: storage of book files and cover image files

The basic functions of caliber e-book library are as mentioned above. The main purpose is to facilitate viewing books and organizing book information. Since it is for my personal use, I have no functions. 开放注册This project supports configuration. More functions and configurations about caliber need to be done by yourself. Explored.

4. Diagnostic function of Yunyao Cloud Server L instance

云耀云服务器L实例Recently, a function has been launched 一键诊断. The self-service tool can help you detect the performance, cost, network, disk and other status of elastic cloud servers, find problems in a timely manner and provide professional repair suggestions and solutions for abnormal indicators, giving you a better cloud experience. .

I just encountered a problem today. calibreDuring deployment, the container has been started and docker psthe status is in good condition. However, when accessing 无法访问此网站, the access port has been added 安全组. I thought it was a conflict with the added port, so I changed it to another port and restarted the container, but it still didn't work. So there was another guess that the added security group did not take effect, so I restarted the server, but the problem still existed. Moreover, the projects accessing other ports are normal, but the newly added projects cannot be accessed, which is puzzling.
Insert image description here

So I tried 一键诊断the function and found the problem: 带宽超限, the bandwidth usage has exceeded 90%, and gave repair suggestions: after the bandwidth exceeds the limit, it may cause 随机丢包. To ensure the normal operation of the business, it is recommended that you upgrade the bandwidth.

Insert image description here

At this time, I realized that there were too many running projects taking up bandwidth. My 华为云云耀云服务器L实例server was currently running 6 projects, so I immediately turned off one project service, and the caliber project could be accessed normally.

5. Summary

Yunyao Cloud Server L instance is a new generation of out-of-the-box lightweight application cloud server built for small and medium-sized enterprises and developers. Yunyao Cloud Server L instance provides a rich and carefully selected application image, enabling one-click deployment of applications, helping customers to build e-commerce websites, web applications, applets, learning environments, various development tests, etc. in the cloud conveniently and efficiently.

Moreover, the threshold for using Yunyao Cloud Server L instances is low. If you are an entry-level user who is learning about cloud computing services, or an individual developer or small and medium-sized enterprise who needs to deploy simple applications in the server, such as deploying some lightweight and interesting project, then it is recommended that you choose 云耀云服务器L实例.

Guess you like

Origin blog.csdn.net/weixin_44008788/article/details/133491294