如何用阿里雲服務器搭建個人網站

以下內容均在阿里雲 CentOS 7.0 64 位環境下運行
用 Nodejs 提供服務

更新 yum 並創建用戶

$ yum update # 最好更新,否則過程中有可能會出問題
$ useradd -m username
$ passwd username
$ usermod -a -G wheel username # 爲用戶添加 sudo 權限

安裝 Nginx

# install nginx
$ sudo yum install -y nginx

# start nginx
$ sudo systemctl start nginx.service

# Optional, auto run when power on
$ sudo systemctl enable nginx.service

支持 HTTPS

將 nginx 證書文件(一個 .key 一個 .pem 文件)上傳到服務器 /etc/nginx/cert/ 目錄下(如沒有,要手動創建)。以下代碼不具有適用性,如果看不懂,就手動自己實現上面的操作。

# server_ip 爲服務器 ip
# local_cert_fold 爲本地證書存放文件夾
# 留意,此處要輸入兩遍密碼
$ ssh root@server_ip \
"[ -d /etc/nginx/cert/ ] && echo ok || mkdir -p /etc/nginx/cert/" && \
scp /local_cert_fold/* root@server_ip:/etc/nginx/cert/

修改 /etc/nginx/nginx.conf 中的配置,my_ssl_cert 替換爲自己的文件名

    ssl_certificate "cert/my_ssl_cert.pem";
    ssl_certificate_key "cert/my_ssl_cert.key";

重啓 nginx

$ sudo systemctl restart nginx.service

安裝 Nodejs

安裝 nvm,方便 nodejs 的版本管理。若安裝後出現 nvm: command not found,新打開個 terminal 或重新登錄即可,詳見 nvm github

$ wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

安裝 nodejs

$ nvm install --lts

安裝 cnpm(可選)

$ npm i -g cnpm --registry=https://registry.npm.taobao.org

安裝 pm2

$ cnpm i -g pm2

推薦

Jenkins & Docker

Docker

詳見 Get Docker Engine - Community for CentOS

  1. Uninstall old versions
$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
  1. Install Docker Engine - Community
# Install required packages. 
# yum-utils provides the yum-config-manager utility, 
# and device-mapper-persistent-data 
# and lvm2 are required by the devicemapper storage driver.
$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2
  
# 此處用了國內鏡像
# 原鏡像爲 https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
   
#Install the latest version of Docker Engine - Community and containerd 
$ sudo yum -y install docker-ce docker-ce-cli containerd.io

# Start Docker
$ sudo systemctl start docker.service

# Optional, set docker auto run when power on
$ sudo systemctl enable docker.service

Jenkins

此處選擇的 docker 模式,所以要先完成 docker 的安裝,詳見 安裝Jenkins

  1. 安裝 jenkins 鏡像
$ docker run \
  -u root \
  --name="jenkins" \
  --rm \
  -d \
  -p 8080:8080 \
  -p 50000:50000 \
  -v jenkins-data:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean
  1. 訪問 http://server_ip:8080 完成後續步驟,詳見 安裝後設置嚮導,需要輸入 admin password 的見下文
$ docker logs jenkins # 查看 admin password

# OR
$ docker exec jenkins cat /var/jenkins_home/secrets/initialAdminPassword

Nginx 可視化管理

安裝 MariaDB(MySQL)

$ yum install -y mariadb-server

$ systemctl start mariadb.service

快速啓動

找個目錄,新建兩個文件,詳見 nginx-proxy-manager
config.json

{
  "database": {
    "engine": "mysql",
    "host": "db",
    "name": "npm",
    "user": "npm",
    "password": "npm",
    "port": 3306
  }
}

docker-compose.yml

version: "3"
services:
  app:
    image: jc21/nginx-proxy-manager:latest
    restart: always
    ports:
      - 80:80
      - 81:81
      - 443:443
    volumes:
      - ./config.json:/app/config/production.json
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db
    environment:
    # if you want pretty colors in your docker logs:
    - FORCE_COLOR=1
  db:
    image: mariadb:latest
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: "npm"
      MYSQL_DATABASE: "npm"
      MYSQL_USER: "npm"
      MYSQL_PASSWORD: "npm"
    volumes:
      - ./data/mysql:/var/lib/mysql

在此目錄下運行 docker-compose up -d 後,訪問 http://server_ip:81 即可

MongoDB

詳見 Install MongoDB Community Edition

  1. Create a /etc/yum.repos.d/mongodb-org-4.2.repo file
$ vim /etc/yum.repos.d/mongodb-org-4.2.repo # 粘貼入以下內容

[mongodb-org-4.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc

  1. Install the MongoDB packages and start MongoDB
$ yum install -y mongodb-org

$ systemctl start mongod.service
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章