使用Aurora搭建個(gè)人博客

一.介紹

  1. 歡迎大家參觀(guān)我的博客,本博客使用github開(kāi)源項(xiàng)目Aurora搭建,如果覺(jué)得還可以的話(huà)忍疾,大家也可以試著自己搭建一個(gè)個(gè)人博客问窃。Aurora是一個(gè)前后端分離的博客系統(tǒng)峰髓,采用

    • 前端技術(shù)
      • 基礎(chǔ)框架:vue3(前臺(tái)) vue2(后臺(tái))
      • 狀態(tài)管理:pinia(前臺(tái)) vuex(后臺(tái))
      • 路由組件:vue-router
      • 網(wǎng)絡(luò)請(qǐng)求:axios
      • 其他技術(shù):詳見(jiàn)前端項(xiàng)目的package.json
    • 后端
      • 基礎(chǔ)框架:springboot
      • ORM框架:mybatisplus
      • 權(quán)限框架:springsecurity
      • 緩存中間件:redis
      • 消息中間件:rabbitmq
      • 搜索引擎:elasticsearch
      • 對(duì)象存儲(chǔ):minio
      • 定時(shí)任務(wù):quartz
      • 其他技術(shù):詳見(jiàn)后端項(xiàng)目的pom.xml

下面是博客的部署教程:

1. 服務(wù)器配置

  1. 2 核 4G(使用 ES 搜索策略)
  2. 2 核 2G(使用 MySQL 搜素策略挣菲,關(guān)閉 ES尉间、Canal)

2. 服務(wù)器安裝 Docker

官方網(wǎng)站上有各種環(huán)境下的 安裝指南弥激,這里主要介紹 Docker CE 在 CentOS 上的安裝民泵。

2.1 卸載(可選)

如果之前安裝過(guò)舊版本的 Docker认境,可以使用下面命令卸載:

yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

2.2 安裝 Docker

  1. 安裝 yum 工具

    yum install -y yum-utils
    
  2. 設(shè)置鏡像倉(cāng)庫(kù)

    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
  3. 更新 yum 軟件包索引

    yum makecache fast
    
  4. 安裝 Docker CE

    yum install docker-ce docker-ce-cli containerd.io
    

2.3 啟動(dòng) Docker

  1. 啟動(dòng) Docker

    systemctl start docker
    
  2. 查看 Docker 版本

    docker version
    
  3. 設(shè)置開(kāi)機(jī)自啟動(dòng)

    systemctl enable docker
    

3. 安裝mysql

3.1 數(shù)據(jù)卷掛載模式

執(zhí)行以下命令進(jìn)行安裝芦拿,修改密碼為自己的密碼

docker run --name mysql --restart=always -p 3306:3306 -v /mnt/aurora/mysql/log:/var/log/mysql -v /mnt/aurora/mysql/data:/var/lib/mysql -v /mnt/aurora/mysql/conf:/etc/mysql/conf.d  -e MYSQL_ROOT_PASSWORD=密碼 -d mysql

4.安裝redis

docker pull redis //下載Redis鏡像
docker run --name redis  --restart=always -p 6379:6379 -d redis --requirepass "密碼" //啟動(dòng)Redis

5.安裝rabbitmq

docker pull rabbitmq:management //下載RabbitMQ鏡像
docker run --name rabbit --restart=always -p 15672:15672 -p 5672:5672  -d  rabbitmq:management   //啟動(dòng)RabbitMQ,默認(rèn)guest用戶(hù)谭确,密碼也是guest宽档。

6.安裝elasticsearch

docker pull elasticsearch:7.9.2
mkdir -p  /home/elasticsearch/data/ 
mkdir -p  /home/elasticsearch/config/
  1. 編寫(xiě)配置文件

    echo 'http.host: 0.0.0.0
    http.cors.enabled: true
    http.cors.allow-origin: "*" '>>/home/elasticsearch/config/elasticsearch.yml
    
  2. 修改文件夾權(quán)限

    chmod -R 777 /home/elasticsearch/
    ls -l # 查看文件權(quán)限
    
  3. 啟動(dòng)elasticseach鏡像

    docker run --name elasticsearch -p 9200:9200 \
     -p 9300:9300 \
     -e "discovery.type=single-node" \
     -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \
      -v /home/elasticsearch/config/elasticsearch.yml:/usr/shellare/elasticsearch/config/elasticsearch.yml \
     -v /home/elasticsearch/data:/usr/shellare/elasticsearch/data \
     -v /home/elasticsearch/plugins:/usr/shellare/elasticsearch/plugins \
     -d elasticsearch:7.9.2
    

    接下來(lái)在瀏覽器上輸入:服務(wù)器IP地址:9200(記得先打開(kāi)服務(wù)器防火墻端口)

4.安裝ik分詞器

進(jìn)入已經(jīng)啟動(dòng)成功的elasticsearch容器炭懊。

docker exec -it elasticsearch /bin/bash
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.9.2/elasticsearch-analysis-ik-7.9.2.zip

ps: 安裝的ik分詞器的版本一定要與elasticsearch的版本保持一致

下載過(guò)程中如果遇到選擇并级,直接輸入 y回車(chē)就可以了。

下載完成之后凛虽,退出去死遭,重新啟動(dòng)elasticsearch容器。

docker restart elasticsearch

測(cè)試ik分詞器是否安裝成功

安裝完成后凯旋,我們?cè)賮?lái)進(jìn)行測(cè)試遍呀潭,看看有什么樣的變化。

postman post請(qǐng)求分詞測(cè)試:http://服務(wù)器IP地址:9200/_analyze

{
    "tokenizer":"ik_smart",
    "text":"我愛(ài)技術(shù)"
}

結(jié)果

{
    "tokens": [
        {
            "token": "我",
            "start_offset": 0,
            "end_offset": 1,
            "type": "CN_CHAR",
            "position": 0
        },
        {
            "token": "愛(ài)",
            "start_offset": 1,
            "end_offset": 2,
            "type": "CN_CHAR",
            "position": 1
        },
        {
            "token": "技術(shù)",
            "start_offset": 2,
            "end_offset": 4,
            "type": "CN_WORD",
            "position": 2
        }
    ]
}

7.安裝MaxWell

docker pull zendesk/maxwell //下載MaxWell鏡像
docker run --name maxwell --restart=always  -d  zendesk/maxwell bin/maxwell  --user='數(shù)據(jù)庫(kù)用戶(hù)名' --password='數(shù)據(jù)庫(kù)密碼'  --host='IP地址'  --producer=rabbitmq --rabbitmq_user='MQ用戶(hù)名' --rabbitmq_pass='MQ密碼' --rabbitmq_host='IP地址' --rabbitmq_port='5672' --rabbitmq_exchange='maxwell_exchange'  --rabbitmq_exchange_type='fanout' --rabbitmq_exchange_durable='true' --filter='exclude: *.*, include: aurora.t_article.article_title = *, include: aurora.t_article.article_content = *, include: aurora.t_article.is_delete = *, include: aurora.t_article.status = *' //運(yùn)行MaxWell

注意:上述命令中aurora為數(shù)據(jù)庫(kù)名稱(chēng)至非。

8.修改yml文件和打包后端項(xiàng)目

1.使用idea打開(kāi)Aurora的后端項(xiàng)目代碼钠署,修改application.yaml的配置

image-20230413001230861

1.1 修改mysql配置

把數(shù)據(jù)庫(kù)地址修改為自己服務(wù)器地址,數(shù)據(jù)庫(kù)名荒椭、密碼也同樣修改

image-20230413001601270

1.2 修改redis配置

image-20230413001736620

1.3 修改rabbitmq配置

rabbitmq默認(rèn)用戶(hù)名和密碼都是guest

image-20230413001810808

1.4 修改elasticsearch地址為服務(wù)器地址

image-20230413001929047

1.5 修改郵箱

  • username修改為自己的163郵箱

  • 電腦搜索打開(kāi)163郵箱谐鼎,打開(kāi)設(shè)置下的SMTP服務(wù)

image-20230413002159536
  • 如果沒(méi)有開(kāi)啟服務(wù),點(diǎn)擊開(kāi)啟會(huì)發(fā)送短信驗(yàn)證趣惠,驗(yàn)證成功后就會(huì)得到一個(gè)密碼
image-20230413002408770
  • 如果開(kāi)啟過(guò)服務(wù)狸棍,下面也可以選擇新的授權(quán)碼
image-20230413002456358
  • 獲得授權(quán)碼之后填入下面的password里即可
image-20230413002021824

1.6 修改阿里云OSS配置

可以自行搜索阿里云OSS開(kāi)通教程,把下面幾個(gè)修改成 自己的OSS

image-20230413002755762

1.7 綁定自己的博客鏈接

需要提前購(gòu)買(mǎi)域名

image-20230413003247474

1.8 綁定QQ互聯(lián)

綁定之后可以使用QQ登錄味悄,需要提前在官網(wǎng)注冊(cè)開(kāi)發(fā)者和創(chuàng)建網(wǎng)站草戈,由于本人也沒(méi)有綁定QQ互聯(lián),這里就暫時(shí)不進(jìn)行演示

1.9 修改博客網(wǎng)站信息

打開(kāi)這兩個(gè)文件,根據(jù)自己需求修改侍瑟,主要把Aurora作者的名字替換成自己的

image-20230413003446370
image-20230413003521361

2.0 打包

執(zhí)行 maven 的 package 命令選擇 jar 方式打包

image-20230413003821550
  • 編寫(xiě)Dockerfile,同時(shí)將編寫(xiě)好的Dockerfile傳輸?shù)椒?wù)器的/usr/local/docker下面

    FROM openjdk:8
    VOLUME /tmp
    ADD aurora-springboot-0.0.1.jar blog.jar
    ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/blog.jar"]
    
  • 編寫(xiě)aurora-start.sh,同時(shí)將編寫(xiě)好的aurora-start.sh上傳到服務(wù)器的/usr/local/docker下面

    SOURCE_PATH=/usr/local/aurora-springboot
    SERVER_NAME=aurora-springboot-0.0.1.jar
    TAG=latest
    SERVER_PORT=8080
    CID=$(docker ps | grep "$SERVER_NAME" | awk '{print $1}')
    IID=$(docker images | grep "$SERVER_NAME" | awk '{print $3}')
    if [ -n "$CID" ]; then
      echo "存在容器$SERVER_NAME,CID-$CID"
      docker stop $CID
      echo "成功停止容器$SERVER_NAME,CID-$CID"
      docker rm $CID
      echo "成功刪除容器$SERVER_NAME,CID-$CID"
    fi
    if [ -n "$IID" ]; then
      echo "存在鏡像$SERVER_NAME:$TAG,IID=$IID"
      docker rmi $IID
      echo "成功刪除鏡像$SERVER_NAME:$TAG,IID=$IID"
    fi
    echo "開(kāi)始構(gòu)建鏡像$SERVER_NAME:$TAG"
    cd $SOURCE_PATH
    docker build -t $SERVER_NAME:$TAG .
    echo "成功構(gòu)建鏡像$SERVER_NAME:$TAG"
    docker run --restart=always --name aurora-springboot-0.0.1.jar -d -p 8080:8080 aurora-springboot-0.0.1.jar:latest
    echo "成功創(chuàng)建并運(yùn)行容器$SERVER_NAME"
    
  • 把打包好的后端jar包上傳到服務(wù)器的/usr/local/docker下面
image-20230413004758995
image-20230413005150509
  • cd到/usr/local/docker下面 唐片,執(zhí)行如下命令打包docker鏡像文件
sh aurora-start.sh
  • 啟動(dòng)容器
docker run  --name aurora-springboot-0.0.1.jar -d -p 8080:8080 aurora-springboot-0.0.1.jar:latest
  • 這樣后端項(xiàng)目就可以在服務(wù)器上跑起來(lái)了

  • 訪(fǎng)問(wèn)測(cè)試(瀏覽器上訪(fǎng)問(wèn))

    ip:8080
    

    出現(xiàn)下面類(lèi)似數(shù)據(jù)就說(shuō)明后端項(xiàng)目啟動(dòng)成功

    image-20230413005415788

9. 打包前端項(xiàng)目

使用VSCode打開(kāi)博客后臺(tái)項(xiàng)目前端項(xiàng)目

  1. aurora-blog項(xiàng)目中,更改src/config/config.ts

      captcha: {
        TENCENT_CAPTCHA: '你自己的天御驗(yàn)證碼'
      },
      qqLogin: {
        QQ_APP_ID: '你自己的APP_ID',
        QQ_REDIRECT_URI: 'https://你的前臺(tái)域名/oauth/login/qq'
      },
    
  2. aurora-blog項(xiàng)目中涨颜,更改public/index.html

    <script
          src="http://connect.qq.com/qc_jssdk.js"
          data-appid="你自己的APP_ID"
          data-redirecturi="https://你的前臺(tái)域名/oauth/login/qq"></script>
    
  3. 如果你的網(wǎng)站沒(méi)有打算使用https,將aurora-blog/public/index.html和aurora-admin/public/index.html中下面這一行代碼給注釋掉

    <meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests" />
    
  4. 分別到aurora-blog和aurora-admin下面執(zhí)行如下命令 (推薦關(guān)閉vscode的Eslint,本項(xiàng)目沒(méi)有遵循Eslint的規(guī)范)

    npm install
    npm run build
    
  5. 在服務(wù)器的/usr/local/下面創(chuàng)建名為vue的文件夾

    image-20230413004559528
  6. 將打包好的前臺(tái)代碼重命名為blog, 并傳輸?shù)椒?wù)器的/usr/local/vue下面

  7. 將打包好的后臺(tái)代碼重命名為admin, 并傳輸?shù)椒?wù)器的/usr/local/vue下面

    image-20230413004641673

10.安裝并啟動(dòng)nginx

關(guān)于nginx配置和服務(wù)器ssl證書(shū)申請(qǐng)等可以觀(guān)看B站Up主視頻操作(使用的是騰訊云服務(wù)器)

方式1: http

  1. 拉取nginx鏡像

    docker pull nginx
    
  2. 在/usr/local/nginx下創(chuàng)建nginx.conf文件费韭,格式如下

    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        client_max_body_size     50m;
        client_body_buffer_size  10m; 
        client_header_timeout    1m;
        client_body_timeout      1m;
    
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_comp_level  4;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary on;
    
    server {
            listen       80;
            server_name  前臺(tái)域名;
         
            location / {     
                root   /usr/local/vue/blog;
                index  index.html index.htm; 
                try_files $uri $uri/ /index.html;    
            }
             
     location ^~ /api/ {     
                proxy_pass http://服務(wù)器ip:8080/;
            proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;                        
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
         
        }
     
    server {
            listen       80;
            server_name  后臺(tái)子域名;
         
            location / {     
                root   /usr/local/vue/admin;
                index  index.html index.htm; 
                try_files $uri $uri/ /index.html;    
            }
             
     location ^~ /api/ {     
                proxy_pass http://服務(wù)器ip:8080/;
         proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;                        
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
         
        }
     }
    
  3. 啟動(dòng)nginx

    docker run --name nginx --restart=always -p 80:80 -d -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/vue:/usr/local/vue nginx 
    

方式2: https

  1. 拉取nginx鏡像
    docker pull nginx
    
  2. 修改配置文件
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
    
        client_max_body_size     50m;
        client_body_buffer_size  10m;      
        client_header_timeout    1m;
        client_body_timeout      1m;
    
        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_comp_level  4;
        gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
        gzip_vary on;
     
    server {
    
            listen  443 ssl;
            server_name  前臺(tái)域名;
    
            ssl on;
            ssl_certificate ssl證書(shū)文件位置; 
        ssl_certificate_key ssl證書(shū)文件位置; 
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
    
           location / {
                root   /usr/local/vue/blog;
                index  index.html index.htm;
                try_files $uri $uri/ /index.html;
            }
         
            location ^~ /api/ {
                proxy_pass http://服務(wù)器ip:8080/;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
    
        }
    
    server {
    
            listen  443 ssl;
            server_name 后臺(tái)域名;
    
            ssl on;
            ssl_certificate ssl證書(shū)文件位置; 
            ssl_certificate_key ssl文件位置; 
            ssl_session_timeout 5m;
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
            ssl_prefer_server_ciphers on;
    
           location / {
                root   /usr/local/vue/admin;
                index  index.html index.htm;
                try_files $uri $uri/ /index.html;
            }
         
            location ^~ /api/ {
                proxy_pass http://服務(wù)器ip:8080/;
                proxy_set_header   Host             $host;
                proxy_set_header   X-Real-IP        $remote_addr;
                proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
            }
     
        }
    
    
    
    server {
            listen       80;
            server_name  前臺(tái)域名;
            rewrite ^(.*)$   https://$host$1 permanent;
         
        }
     
    server {
            listen       80;
            server_name  后臺(tái)域名;
            rewrite ^(.*)$   https://$host$1 permanent;
         
        }    
    }
    
  3. 啟動(dòng)nginx
    docker run --name nginx --restart=always -p 443:443 -p 80:80 -d -v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf -v /usr/local/nginx/cert:/e
    

11.結(jié)語(yǔ)

以上就是使用Aurora開(kāi)源項(xiàng)目搭建個(gè)人博客的教程,同時(shí)感謝作者開(kāi)源庭瑰,覺(jué)得本文有用的可以點(diǎn)個(gè)贊或者收藏
原創(chuàng)不易星持,覺(jué)得文章還不錯(cuò)或者感興趣可以點(diǎn)贊或者收藏一下哦!歡迎留言評(píng)論和關(guān)注一下弹灭!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末钉汗,一起剝皮案震驚了整個(gè)濱河市羹令,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌损痰,老刑警劉巖福侈,帶你破解...
    沈念sama閱讀 218,546評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異卢未,居然都是意外死亡肪凛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)辽社,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)伟墙,“玉大人,你說(shuō)我怎么就攤上這事滴铅〈量” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,911評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵汉匙,是天一觀(guān)的道長(zhǎng)拱烁。 經(jīng)常有香客問(wèn)我噩翠,道長(zhǎng)戏自,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,737評(píng)論 1 294
  • 正文 為了忘掉前任屯援,我火速辦了婚禮猛们,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘狞洋。我一直安慰自己弯淘,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,753評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布徘铝。 她就那樣靜靜地躺著耳胎,像睡著了一般惯吕。 火紅的嫁衣襯著肌膚如雪惕它。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,598評(píng)論 1 305
  • 那天废登,我揣著相機(jī)與錄音淹魄,去河邊找鬼。 笑死堡距,一個(gè)胖子當(dāng)著我的面吹牛甲锡,可吹牛的內(nèi)容都是我干的兆蕉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,338評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼缤沦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼虎韵!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起缸废,我...
    開(kāi)封第一講書(shū)人閱讀 39,249評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤包蓝,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后企量,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體测萎,經(jīng)...
    沈念sama閱讀 45,696評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,888評(píng)論 3 336
  • 正文 我和宋清朗相戀三年届巩,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了硅瞧。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,013評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡恕汇,死狀恐怖腕唧,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情拇勃,我是刑警寧澤四苇,帶...
    沈念sama閱讀 35,731評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站方咆,受9級(jí)特大地震影響月腋,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜瓣赂,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,348評(píng)論 3 330
  • 文/蒙蒙 一榆骚、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧煌集,春花似錦妓肢、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,929評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至卷拘,卻和暖如春喊废,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背栗弟。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,048評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工污筷, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人乍赫。 一個(gè)月前我還...
    沈念sama閱讀 48,203評(píng)論 3 370
  • 正文 我出身青樓瓣蛀,卻偏偏與公主長(zhǎng)得像陆蟆,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子惋增,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,960評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容