Hexo را روی CentOS 7 نصب کنید

Hexo یک بستر وبلاگ استاتیک است که با Node.js. ساخته شده است. این مقایسه با سایر سیستم عامل های وبلاگ استاتیک مانند جکیل سریع است.

در این آموزش نحوه ساخت و استقرار وبلاگ Hexo را توضیح خواهم داد. مراحل بسیار ساده است ، برای CentOS 7 ، Node.js 4.4 نوشته شده است. دستگاه محلی من Fedora 23 است.

پیش نیازها

ما با یک سیستم تازه نصب شده CentOS 7 شروع می کنیم. بسته های نرم افزاری زیر مورد نیاز است:

  • gcc-c و gcc-c ++
  • درست کردن و گیت کردن
  • nginx
  • opensl
  • nodejs و npm

شما باید به عنوان root یا به عنوان کاربر دارای امتیازات sudo وارد شوید.

خدمات را نصب کنید

$ yum install -y gcc gcc-c++ make git openssl

Nginx را نصب کنید

می توانید nginxاز repo پیش فرض نصب کنید :

$yum install -y nginx

... یا یک نسخه پایدار از repo رسمی Nginx نصب کنید ، در اینجا دومی را انتخاب می کنیم.

یک فایل رپو به نام ایجاد کنید nginx.repo، که محتوای آن:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

... و آن را کپی کنید /etc/yum.repo.d/،

$ cp nginx.repo /etc/yum.repo.d/
$ yum update and yum install -y nginx
$ systemctl enable nginx and systemctl start nginx

Node.js را نصب کنید

Node.js با پشتیبانی طولانی را از Repo رسمی Node.js نصب می کنیم.

$ curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -
$ yum update and yum install -y nodejs

یک کاربر جدید ایجاد کنید

به طور معمول بهتر است برای اجرای وبلاگ خود یک کاربر معمولی ایجاد کنید ، زیرا root دارای مجوزهای فوق العاده کاربر است.

در اینجا ما یک کاربر به نام ایجاد می کنیم vultrو آن را به گروه اضافه می کنیم wheelو nginx:

$ useradd -d /home/vultr -m -r -U -s /bin/bash
$ passwd vultr
$ usermod -aG nginx vultr
$ usermod -aG wheel vultr

یک جفت کلید SSH ایجاد کنید

ورود به سیستم از طریق کلید ssh مفید و ضروری است.

$ ssh-keygen -b 4096 -C "vultr@example.com"

پس از ایجاد جفت کلید ssh ، کلید عمومی (معمولاً id_rsa.pub) را ~/.ssh/authorized_keysروی سرور کپی کنید:

ssh-copy-id -i ~/.ssh/id_rsa.pub vultr@example.com

و اکنون ، همه بسته های پیش ساخته را نصب کرده ایم.

وبلاگ Hexo خود را بسازید

Hexo را نصب کنید

به عنوان vultrکاربر وارد شوید سپس ، ایجاد ~/web/web/vultrو ~/web/git/vultr:

### This is our hexo blog root directory
$ mkdir -p ~/web/web/vultr
### This is our git repository directory on the server
$ mkdir -p ~/web/git/vultr
### This is our deploy directory
$ mkdir -p ~/web/git/hexo

~/web/web/vultrHexo را وارد کرده و نصب کنید:

$ cd ~/web/web/vultr
$ sudo npm install -g hexo-cli hexo-server
$ hexo init && npm install --save

اکنون ما فقط باید وبلاگ جدید خود را ایجاد کنیم.

_config.ymlبرای تغییر آدرس وبلاگ خود ، ویرایش کنید. سپس اجرا کنید:

$ hexo g

وبلاگ شما اکنون تولید شده است پرونده های HTML در زیر قرار دارند ~/web/web/vultr/public.

سرور Nginx خود را تنظیم کنید

در این مرحله ، ما هنوز نمی توانیم به وب سایت خود دسترسی پیدا کنیم. بنابراین ، ما باید Nginx را پیکربندی کنیم.

Nginx به عنوان یک کاربر به نام nginxدر nginxگروه اجرا می شود و به همین دلیل باید vultrبه گروه اضافه کنیم nginx.

$ chown -R vultr:nginx ~/web

یک پرونده پیکربندی Nginx ایجاد کنید که vultr.confتحت ~/web/آن محتوا کم و بیش شبیه این است:

server {
    listen 80;
    listen [::]:80;
    ## if https is desired, please uncomment the following lines
    #listen 443 ssl http2;
    #listen [::]:443 ssl http2;

    server_name example.com, www.example.com;

    ## if forcing https, please uncomment the following lines
    #if ($scheme = http) {
    #    return 301 https://$server_name$request_uri;
    #}

    location / {
    root /home/vultr/web/web/vultr/public;
    index index.html;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header Host $http_host;
    ## if https is desired, please uncomment the following lines
    #proxy_set_header X-Forwarded-Proto https;
    }
}

کپی vultr.confبه /etc/nginx/config.d/و راه اندازی مجدد از Nginx:

$ sudo ln -sf ~/web/vultr.conf /etc/nginx/config.d/
$ sudo systemctl restart nginx

اکنون وبلاگ ما با یک مرورگر وب قابل دسترسی است.

با استفاده از Git برای استقرار وبلاگ خود

از آنجا که وبلاگ در حال حاضر راه اندازی شده است ، این بخش از آموزش اختیاری است.

در این مرحله نوشتن یک پست وبلاگ کمی ناخوشایند است ، زیرا ما نیاز به ورود و نوشتن در سرور داریم. یک راه حل بهتر نوشتن روی دستگاه محلی ما ، فشار دادن پست روی سرور و اجازه دادن به Hexo به صورت خودکار فایلهای استاتیک است. با توجه به اینکه git قلاب هایی دارد که می تواند کارهای زیادی انجام دهد ، می توانیم از قلاب git برای دستیابی به این تنظیم استفاده کنیم.

یک مخزن لخت بر روی سرور ایجاد کنید

دوباره به عنوان کاربر وارد سرور شوید vultr. یک مخزن لخت ایجاد کنید:

$ cd ~/web/git/vultr
$ git init --bare
$ cd hooks

یک پرونده bash بنویسید post-receiveکه وبلاگ ما را بعد از هر فشار مستقر می کند:

#!/bin/bash
deploy_to_dir="/home/vultr/web/git/hexo"

GIT_WORK_TREE=$deploy_to_dir git checkout -f master
echo "DEPLOY:   master  copied to  $deploy_to_dir"

hexo_dir="/home/vultr/web/web/vultr/"

cd $hexo_dir

hexo clean && hexo --silent g

if [[ $? == 0 ]]; then
    echo "Congratulations! Your blog has been correctly deployed"
else:
    echo "Unfortunately your blog has not been deployed correctly"
fi

قبل از شروع کار ، باید این دستورات را روی سرور نیز اجرا کنیم:

cd ~/web/web/vultr/
rm -rf source scaffolds _config.yml themes
ln -sf /home/vultr/web/git/hexo/themes/tranquilpeak  themes/
ln -sf /home/vultr/web/git/hexo/source .
ln -sf /home/vultr/web/git/hexo/scaffolds .
ln -sf /home/vultr/web/git/hexo/_config.yml .

مخزن git محلی خود را تنظیم کنید

در دستگاه محلی نیز باید یک مخزن ایجاد کنیم. در صورت استفاده از سیستم عامل رومیزی غیر از فدورا ممکن است این مراحل متفاوت باشد.

شما نیاز به نصب git دارید.

یک مخزن git محلی را تنظیم کنید:

$ mkdir -p ~/vultr/git/vultr`
$ cd ~/vultr/git/vultr and git init
$ git remote add production ssh://vultr@example.com:/home/vultr/web/git/vultr

نصب هگزو در دستگاه محلی خود برای نوشتن یک پست مفید است. در اینجا دایرکتوری Hexo را برای نوشتن تنظیم می کنیم.

$ mkdir ~/vultr/vultr && cd ~/vultr/vultr
$ hexo init && npm install --save
$ mv  source  _config.yml themes scaffolds ~/vultr/git/vultr
$ ln -sf ~/vultr/git/vultr/source .
$ ln -sf ~/vultr/git/vultr/_config.yml .
$ ln -sf ~/vultr/git/vultr/scaffolds .
$ hexo new "Test Post"

تنظیم کامل است. می توانید با دستورات زیر پستی را به سرور خود فشار دهید:

$ cd ~/vultr/git/vultr
$ git add . && git commit -m "new post"
$ git push production master

پس از موفقیت ، وبلاگ به طور خودکار بروزرسانی می شود. به سلامتی.

یک نظر بگذارید

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP

با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.

اشتراک NFS را در Debian تنظیم کنید

اشتراک NFS را در Debian تنظیم کنید

NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

نحوه بروزرسانی CentOS 7 ، Ubuntu 16.04 و Debian 8

هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

نحوه نصب بستر سبد خرید LiteCart در اوبونتو 16.04

LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.

نحوه نصب Matomo Analytics در Fedora 28

نحوه نصب Matomo Analytics در Fedora 28

با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o

یک سرور TeamTalk را در لینوکس تنظیم کنید

یک سرور TeamTalk را در لینوکس تنظیم کنید

TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

با استفاده از کلید SSH خود برای ورود به کاربران غیر ریشه استفاده کنید

Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th

نحوه نصب انجمن NodeBB در FreeBSD 12

نحوه نصب انجمن NodeBB در FreeBSD 12

با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB

نحوه نصب Ranger Terminal File Manager در لینوکس

نحوه نصب Ranger Terminal File Manager در لینوکس

رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد

نصب و راه اندازی ZNC در اوبونتو

نصب و راه اندازی ZNC در اوبونتو

ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.