服務(wù)器小白的我,是如何將 node+mongodb 項(xiàng)目部署在服務(wù)器上并進(jìn)行性能優(yōu)化的

BiaoChenXuYing

前言

本文講解的是:做為前端開發(fā)人員剩瓶,對(duì)服務(wù)器的了解還是小白的我驹溃,是如何一步步將 node+mongodb 項(xiàng)目部署在阿里云 centos 7.3 的服務(wù)器上,并進(jìn)行性能優(yōu)化儒搭,達(dá)到頁面 1 秒內(nèi)看到 loading 吠架,3 秒內(nèi)看到首屏內(nèi)容的。

搭建的項(xiàng)目是采用了主流的前后端分離思想的搂鲫,這里只講 服務(wù)器環(huán)境搭建與性能優(yōu)化傍药。

效果請看 http://biaochenxuying.cn/main.html

1. 流程

  • 開發(fā)好前端與后端程序。
  • 購買服務(wù)器與域名
  • 服務(wù)器上安裝所需環(huán)境(本項(xiàng)目是 node 和 mongodb )
  • 服務(wù)器上開放端口與設(shè)置規(guī)則
  • 用 nginx魂仍、apache 或者tomcat 來提供HTTP服務(wù)或者設(shè)置代理
  • 上傳項(xiàng)目代碼 或者 用碼云或者 gihub 來拉取你的代碼到服務(wù)器上
  • 啟動(dòng) express 服務(wù)器
  • 優(yōu)化頁面加載

2. 內(nèi)容細(xì)節(jié)

2.1 開發(fā)好前端與后端程序

開發(fā)好前端與后端程序拐辽,這個(gè)沒什么好說的,就是開發(fā)擦酌!開發(fā)俱诸!開發(fā)!再開發(fā)赊舶!

2.2 購買服務(wù)器與域名

本人一直覺得程序員應(yīng)該有一個(gè)自己的個(gè)人網(wǎng)站睁搭,擁有自己的域名與服務(wù)器。學(xué)知識(shí)或者測試項(xiàng)目的時(shí)候可以用來測試笼平。

阿里云有個(gè)專供學(xué)生的云翼計(jì)劃 阿里云學(xué)生套餐园骆,入門級(jí)的云服務(wù)器原價(jià)1400多,學(xué)生認(rèn)證后只要114一年寓调,非常劃算锌唾。

還是學(xué)生的,直接購買夺英;不是學(xué)生了晌涕,有弟弟、妹妹的痛悯,可以用他們的大學(xué)生身份余黎,購買,非常便宜實(shí)用(我購買的就是學(xué)生優(yōu)惠套餐)载萌。當(dāng)然阿里云服務(wù)器在每年雙 11 時(shí)都有很大優(yōu)惠驯耻,也很便宜亲族,選什么配置與價(jià)格得看自己的用處炒考。

服務(wù)器預(yù)裝環(huán)境可以選擇 CentOS 或者 windows server可缚,,為了體驗(yàn)和學(xué)習(xí) linux 系統(tǒng)斋枢,我選擇了CentOS帘靡。

學(xué)生優(yōu)惠套餐

再次是購買域名 阿里域名購買,本人也是在阿里云購買的瓤帚。域名是分 國際域名與國內(nèi)域名的描姚,國際域名是不用備案的,但是國內(nèi)的域名是必須 ICP備案的 阿里云ICP代備案管理系統(tǒng)戈次,不然不能用轩勘,如果是國內(nèi)域名,如何備案域名怯邪,請自己上網(wǎng)查找教程绊寻。

域名

當(dāng)然如果你的網(wǎng)站只用來自己用的話,可以不用買域名悬秉,因?yàn)榭梢酝ㄟ^服務(wù)器的公網(wǎng) ip 來訪問網(wǎng)站內(nèi)容的澄步。

如果購買了域名了,還要設(shè)置域名映射到相應(yīng)的公網(wǎng) ip 和泌,不然也不能用村缸。

域名解析

3. 服務(wù)器上安裝所需環(huán)境(本項(xiàng)目是 node 和 mongodb )

3.1 登錄服務(wù)器

因本人用的是 MacBook Pro ,所以直接打開 mac 終端武氓,通過下面的命令行連接到服務(wù)器梯皿。root 是阿里云服務(wù)器默認(rèn)的賬號(hào)名,連接時(shí)候會(huì)叫你輸入密碼县恕,輸入你購買時(shí)設(shè)置的或者后來設(shè)置的密碼东羹。

ssh root@47.106.20.666   //你的服務(wù)器公網(wǎng) ip,比如 47.106.20.666

如圖:

登錄成功效果

window 系統(tǒng)的弱睦,請用 Putty 或 Xshell 來登錄莽使,可以參考一下這篇文章 把 Node.js 項(xiàng)目部署到阿里云服務(wù)器(CentOs)

一般在新服務(wù)器創(chuàng)建后侠畔,建議先升級(jí)一下 CentOS:

yum -y update

常用的 Linux 命令

cd 進(jìn)入目錄
cd .. 返回上一個(gè)目錄
ls -a 查看當(dāng)前目錄
mkdir abc 創(chuàng)建abc文件夾
mv 移動(dòng)或重命名
rm 刪除一個(gè)文件或者目錄

3.2 安裝 node

升級(jí)常用庫文件, 安裝 node.js 需要通過 g++ 進(jìn)行編譯。

yum -y install gcc gcc-c++ autoconf

跳轉(zhuǎn)到目錄:/usr/local/src,這個(gè)文件夾通常用來存放軟件源代碼:

cd /usr/local/src

下載 node.js 源碼矿咕,也可以使用 scp 命令直接上傳,因?yàn)橄螺d實(shí)在太慢了:
下載地址:Downloads春锋,請下載最新的相應(yīng)版本的源碼進(jìn)行下載累贤,本人下載了 v10.13.0 版本的。

下載 node.js 源碼
https://nodejs.org/dist/v10.13.0/node-v10.13.0.tar.gz

下載完成后解壓:

tar -xzvf node-v10.13.0.tar.gz

進(jìn)入解壓后的文件夾:

cd node-v10.13.0

執(zhí)行配置腳本來進(jìn)行預(yù)編譯處理:

./configure

編譯源代碼屹耐,這個(gè)步驟花的時(shí)間會(huì)很長尸疆,大概需要 5 到 10 分鐘:

make

編譯完成后,執(zhí)行安裝命令,使之在系統(tǒng)范圍內(nèi)可用:

make install

安裝 express 推薦 global 安裝

npm -g install express

建立超級(jí)鏈接, 不然 sudo node 時(shí)會(huì)報(bào) "command not found"

sudo ln -s /usr/local/bin/node /usr/bin/node
sudo ln -s /usr/local/lib/node /usr/lib/node
sudo ln -s /usr/local/bin/npm /usr/bin/npm
sudo ln -s /usr/local/bin/node-waf /usr/bin/node-waf

通過指令查看 node 及 npm 版本:

node -v
npm -v

node.js 到這里就基本安裝完成了寿弱。

3.2 安裝 mongodb

下載地址:mongodb
下載時(shí)犯眠,請選對(duì)相應(yīng)的環(huán)境與版本,因?yàn)楸救说姆?wù)器是 CentOS 症革,其實(shí)本質(zhì)就是 linux 系統(tǒng)筐咧,所以選擇了如下圖環(huán)境與目前最新的版本。

mongodb

mongodb :

軟件安裝位置:/usr/local/mongodb
數(shù)據(jù)存放位置:/home/mongodb/data
數(shù)據(jù)備份位置:/home/mongodb/bak
日志存放位置:/home/mongodb/logs

下載安裝包

> cd /usr/local
> wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.4.tgz

解壓安裝包噪矛,重命名文件夾為 mongodb

tar zxvf mongodb-linux-x86_64-4.0.4.tgz
mv mongodb-linux-x86_64-4.0.4 mongodb

在 var 文件夾里建立 mongodb 文件夾量蕊,并分別建立文件夾 data 用于存放數(shù)據(jù),logs 用于存放日志

mkdir /var/mongodb
mkdir /var/mongodb/data
mkdir /var/mongodb/logs

打開 rc.local 文件艇挨,添加 CentOS 開機(jī)啟動(dòng)項(xiàng):

vim /etc/rc.d/rc.local
// 不懂 vim 操作的請自行查看相應(yīng)的文檔教程残炮,比如: vim 模式下,要 按了 i 才能插入內(nèi)容缩滨,輸入完之后势就,要按 shift 加 :wq 才能保存退出。

將 mongodb 啟動(dòng)命令追加到本文件中楷怒,讓 mongodb 開機(jī)自啟動(dòng):

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

啟動(dòng) mongodb

/usr/local/mongodb/bin/mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork

看到如下信息說明已經(jīng)安裝完成并成功啟動(dòng):

forked process: 18394
all output going to: /var/mongodb/logs/log.log

mongodb 默認(rèn)的端口號(hào)是 27017蛋勺。

如果你數(shù)據(jù)庫的連接要賬號(hào)和密碼的,要?jiǎng)?chuàng)建數(shù)據(jù)庫管理員鸠删,不然直接連接即可抱完。
在 mongo shell 中創(chuàng)建管理員及數(shù)據(jù)庫。

切換到 admin 數(shù)據(jù)庫刃泡,創(chuàng)建超級(jí)管理員帳號(hào)

use admin
db.createUser({ user: "用戶名", pwd:"登陸密碼", roles:[{ role: "userAdminAnyDatabase", db: "admin" }] })

切換到要使用的數(shù)據(jù)庫巧娱,如 taodb 數(shù)據(jù)庫,創(chuàng)建這個(gè)數(shù)據(jù)庫的管理員帳號(hào)

use taodb
db.createUser({ user: "用戶名", pwd:"登陸密碼", roles:[ { role: "readWrite", db: "taodb" }] //讀寫權(quán)限 })

重復(fù)按兩下 control+c 烘贴,退出 mongo shell禁添。
到這里 mongodb 基本已經(jīng)安裝設(shè)置完成了。

備份與恢復(fù) 請看這篇文章:MongoDB 備份(mongodump)與恢復(fù)(mongorestore)
安裝 node 與 mongodb 也可以參考這篇文章:CentOs搭建NodeJs服務(wù)器—Mongodb安裝

3.3 服務(wù)器上開放端口與設(shè)置安全組規(guī)則

如果你只放靜態(tài)的網(wǎng)頁桨踪,可以參考這個(gè)篇文章 通過云虛擬主機(jī)控制臺(tái)設(shè)置默認(rèn)首頁

但是我們是要部署后臺(tái)程序的老翘,所以要看以下的內(nèi)容:

安全組規(guī)則是什么鬼

授權(quán)安全組規(guī)則可以允許或者禁止與安全組相關(guān)聯(lián)的 ECS 實(shí)例的公網(wǎng)和內(nèi)網(wǎng)的入方向和出方向的訪問。
阿里云安全組應(yīng)用案例文檔

80 端口是為 HTTP(HyperText Transport Protocol) 即超文本傳輸協(xié)議開放的,瀏覽器 HTTP 訪問 IP 或域名的 80 端口時(shí),可以省略 80 端口號(hào)

如果我們沒有開放相應(yīng)的端口锻离,

比如我們的服務(wù)要用到 3000 铺峭,就要開放 3000 的端口,不然是訪問不了的汽纠;其他端口同理卫键。

配置安全組規(guī)則 1
配置安全組規(guī)則 2
配置安全組規(guī)則 3

端口都配置對(duì)了,以為能用公網(wǎng) IP 進(jìn)行訪問了么 ? 小兄弟你太天真了 ...

太天真了

還有 防火墻 這一關(guān)呢虱朵,如果防火墻沒有關(guān)閉或者相關(guān)的端口沒有開放莉炉,也是不能用公網(wǎng) IP 進(jìn)行訪問網(wǎng)站內(nèi)容的钓账。

和安全組端口同理,比如我們的服務(wù)要用到的是 3000 端口絮宁,就要開放 3000 的端口梆暮,不然是訪問不了的;其他端口同理羞福。

出于安全考慮還是把防火墻開上惕蹄,只開放相應(yīng)的端口最好。

怎么開放相應(yīng)的端口 治专? 看下面兩篇文章足矣,這里就不展開了遭顶。

1. 將nodejs項(xiàng)目部署到阿里云ESC服務(wù)器,linux系統(tǒng)配置80端口,實(shí)現(xiàn)公網(wǎng)IP訪問

2. centos出現(xiàn)“FirewallD is not running”怎么辦

3.4 用 nginx张峰、apache 或者 tomcat 來提供 HTTP 服務(wù)或者設(shè)置代理

我是用了 nginx 的,所以這里只介紹 nginx 棒旗。
安裝 nginx 請看這兩篇文章:

1. Centos7安裝Nginx實(shí)戰(zhàn)

2. 阿里云Centos7安裝Nginx服務(wù)器實(shí)現(xiàn)反向代理

開啟 ngnx 代理

  • 進(jìn)入到目錄位置
cd /usr/local/nginx
  • 在 nginx 目錄下有一個(gè) sbin 目錄喘批,sbin 目錄下有一個(gè) nginx 可執(zhí)行程序。
./nginx
  • 關(guān)閉 nginx
./nginx -s stop
  • 重啟
./nginx -s reload

基本的使用就是這樣子了铣揉。

如下給出我的 nginx 代理的設(shè)置:

我的兩個(gè)項(xiàng)目是放在 /home/blog/blog-react/build/; 和 /home/blog/blog-react-admin/dist/; 下的饶深,如果你們的路徑不是這個(gè),請修改成你們的路徑逛拱。

#user  nobody;
worker_processes  1;
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;
#pid        logs/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    # 如果port_in_redirect為off時(shí)敌厘,那么始終按照默認(rèn)的80端口;如果該指令打開朽合,那么將會(huì)返回當(dāng)前正在監(jiān)聽的端口俱两。
    port_in_redirect off;

    # 前臺(tái)展示打開的服務(wù)代理
    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        #root /home/blog;

        location  / {
            root   /home/blog/blog-react/build/;
            index  index.html;
            try_files $uri $uri/ @router;
            autoindex on;
        }

        location @router{
            rewrite ^.*$ /index.html last;
        }

        location /api/ {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://47.106.136.114:3000/ ;
        }
        gzip on;

        gzip_buffers 32 4k;

        gzip_comp_level 6;

        gzip_min_length 200;

        gzip_types text/css text/xml application/javascript;

        gzip_vary on;

        #error_page  404              /404.html;
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }


    # HTTPS server
    # 管理后臺(tái)打開的服務(wù)代理
    server {
        listen       4444;
        server_name  localhost;
        #   charset koi8-r;
        #   ssl_certificate      cert.pem;
        #   ssl_certificate_key  cert.key;

        #   ssl_session_cache    shared:SSL:1m;
        #    ssl_session_timeout  5m;

        #    ssl_ciphers  HIGH:!aNULL:!MD5;
        #    ssl_prefer_server_ciphers  on;

        location / {
            root   /home/blog/blog-react-admin/dist/;
            index  index.html index.htm;
            try_files $uri $uri/ @router;
            autoindex on;
        }
        location @router{
            rewrite ^.*$ /index.html last;
        }

        location /api/ {
            proxy_set_header X-Real-IP $remote_addr;
            proxy_pass http://47.106.136.114:3000/ ;
        }
        gzip on;

        gzip_buffers 32 4k;

        gzip_comp_level 6;

        gzip_min_length 200;

        gzip_types text/css text/xml application/javascript;

        gzip_vary on;

        error_page   500 502 503 504  /50x.html;
    }
}

我是開了兩個(gè)代理的:前臺(tái)展示打開的服務(wù)代理和管理后臺(tái)打開的服務(wù)代理,這個(gè)項(xiàng)目是分開端口訪問的曹步。
比如:我的公網(wǎng) ip 是 47.106.20.666宪彩,那么可以通過 http://47.106.20.666 即可訪問前臺(tái)展示,http://47.106.20.666:4444 即可訪問管理后臺(tái)的登錄界面讲婚。

至于為什么要寫這樣的配置:

try_files $uri $uri/ @router;

location @router{
        rewrite ^.*$ /index.html last;
    }

因?yàn)檫M(jìn)入到文章詳情時(shí)或者前端路由變化了尿孔,再刷新瀏覽器,發(fā)現(xiàn)瀏覽器出現(xiàn) 404 筹麸。刷新頁面時(shí)訪問的資源在服務(wù)端找不到活合,因?yàn)?react-router 設(shè)置的路徑不是真實(shí)存在的路徑。
所以那樣設(shè)置是為了可以刷新還可以打到對(duì)應(yīng)的路徑的竹捉。

刷新出現(xiàn) 404 問題芜辕,可以看下這篇文章 react,vue等部署單頁面項(xiàng)目時(shí),訪問刷新出現(xiàn)404問題

3.5 上傳項(xiàng)目代碼,或者用碼云块差、 gihub 來拉取你的代碼到服務(wù)器上

我是創(chuàng)建了碼云的賬號(hào)來管理項(xiàng)目代碼的侵续,因?yàn)榇a云上可以創(chuàng)建免費(fèi)的私有倉庫倔丈,我在本地把碼上傳到 Gitee.com 上,再進(jìn)入服務(wù)器用 git 把代碼拉取下來就可以了状蜗,非常方便需五。

具體請看:碼云(Gitee.com)幫助文檔 V1.2

git 的安裝請看: CentOS 7.4 系統(tǒng)安裝 git

如果不想用 git 進(jìn)行代碼管理,請用其他可以連接服務(wù)器上傳文件的軟件轧坎,比如 FileZilla宏邮。

3.6 啟動(dòng) express 服務(wù)

啟動(dòng) express 服務(wù),我用了 pm2缸血, 可以永久運(yùn)行在服務(wù)器上蜜氨,且不會(huì)一報(bào)錯(cuò) express 服務(wù)就掛了,而且運(yùn)行中還可以進(jìn)行其他操作捎泻。

安裝:

npm install -g pm2

切換當(dāng)前工作目錄到 express 應(yīng)用文件夾下,執(zhí)行 pm2 命令啟動(dòng) express 服務(wù):

pm2 start ./bin/www

比如我操作項(xiàng)目時(shí)的基本操作:

cd /home/blog/blog-node
pm2 start ./bin/www // 開啟
pm2 stop ./bin/www // 關(guān)閉
pm2 list //查看所用已啟動(dòng)項(xiàng)目:

3.7 頁面加載優(yōu)化

再看剛剛的 nginx 的一些配置:

server {
        gzip on;
        gzip_buffers 32 4k;
        gzip_comp_level 6;
        gzip_min_length 200;
        gzip_types text/css text/xml application/javascript;
        gzip_vary on;
    }

這個(gè)就是利用 ngonx 開啟 gzip飒炎,親測開啟之后,壓縮了接近 2/3 的文件大小,本來要 1M 多的文件笆豁,開啟壓縮之后郎汪,變成了 300k 左右。

還有其他的優(yōu)化請看這篇文章 React 16 加載性能優(yōu)化指南闯狱,寫的很不錯(cuò)煞赢,我的一些優(yōu)化都是參考了這個(gè)篇文章的。

做完一系列的優(yōu)化處理之后哄孤,在網(wǎng)絡(luò)正常的情況下照筑,頁面首屏渲染由本來是接近 5 秒,變成了 3 秒內(nèi)录豺,首屏渲染之前的 loading 在 1 秒內(nèi)可見了朦肘。

4. 項(xiàng)目地址

本人的個(gè)人博客項(xiàng)目地址:

前臺(tái)展示: https://github.com/biaochenxuying/blog-react

管理后臺(tái):https://github.com/biaochenxuying/blog-react-admin

后端:https://github.com/biaochenxuying/blog-node

blog:https://github.com/biaochenxuying/blog

本博客系統(tǒng)的系列文章:

5. 最后

關(guān)注公眾號(hào)并回復(fù) 福利 可領(lǐng)取免費(fèi)學(xué)習(xí)資料,福利詳情請猛戳: Python双饥、Java媒抠、Linux、Go咏花、node趴生、vue、react昏翰、javaScript

全棧修煉
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末苍匆,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子棚菊,更是在濱河造成了極大的恐慌浸踩,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,214評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件统求,死亡現(xiàn)場離奇詭異检碗,居然都是意外死亡据块,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,307評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門折剃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來另假,“玉大人,你說我怎么就攤上這事怕犁”呃海” “怎么了?”我有些...
    開封第一講書人閱讀 152,543評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵奏甫,是天一觀的道長戈轿。 經(jīng)常有香客問我,道長扶檐,這世上最難降的妖魔是什么凶杖? 我笑而不...
    開封第一講書人閱讀 55,221評(píng)論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮款筑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘腾么。我一直安慰自己奈梳,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,224評(píng)論 5 371
  • 文/花漫 我一把揭開白布解虱。 她就那樣靜靜地躺著攘须,像睡著了一般。 火紅的嫁衣襯著肌膚如雪殴泰。 梳的紋絲不亂的頭發(fā)上于宙,一...
    開封第一講書人閱讀 49,007評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音悍汛,去河邊找鬼捞魁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛离咐,可吹牛的內(nèi)容都是我干的谱俭。 我是一名探鬼主播,決...
    沈念sama閱讀 38,313評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼宵蛀,長吁一口氣:“原來是場噩夢啊……” “哼昆著!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起术陶,我...
    開封第一講書人閱讀 36,956評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤凑懂,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后梧宫,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體接谨,經(jīng)...
    沈念sama閱讀 43,441評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡摆碉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,925評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了疤坝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兆解。...
    茶點(diǎn)故事閱讀 38,018評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖跑揉,靈堂內(nèi)的尸體忽然破棺而出锅睛,到底是詐尸還是另有隱情,我是刑警寧澤历谍,帶...
    沈念sama閱讀 33,685評(píng)論 4 322
  • 正文 年R本政府宣布现拒,位于F島的核電站,受9級(jí)特大地震影響望侈,放射性物質(zhì)發(fā)生泄漏印蔬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,234評(píng)論 3 307
  • 文/蒙蒙 一脱衙、第九天 我趴在偏房一處隱蔽的房頂上張望侥猬。 院中可真熱鬧,春花似錦捐韩、人聲如沸退唠。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,240評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽瞧预。三九已至,卻和暖如春仅政,著一層夾襖步出監(jiān)牢的瞬間垢油,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,464評(píng)論 1 261
  • 我被黑心中介騙來泰國打工圆丹, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留滩愁,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,467評(píng)論 2 352
  • 正文 我出身青樓运褪,卻偏偏與公主長得像惊楼,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子秸讹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,762評(píng)論 2 345

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

  • 1. Linux命令 1.1 常用命令 顯示文件或目錄ls(選項(xiàng))(參數(shù))-l 表示long檀咙,長格式列出-a 表示...
    nimw閱讀 6,159評(píng)論 1 12
  • 關(guān)于Mongodb的全面總結(jié) MongoDB的內(nèi)部構(gòu)造《MongoDB The Definitive Guide》...
    中v中閱讀 31,898評(píng)論 2 89
  • 前言:這是一篇教你如何在阿里云的ECS CentOS 7服務(wù)器上搭建一個(gè)個(gè)人博客的教程,教程比較基礎(chǔ)璃诀,筆者盡可能比...
    frogo閱讀 2,469評(píng)論 0 20
  • “我去炸學(xué)校弧可,老師不知道,一拉線我就跑劣欢,轟的一聲學(xué)校不見鳥棕诵〔昧迹”咱們可耐的蘇云染同鞋,哼著改編的小曲校套,開心的上學(xué)去了...
    上官云曦閱讀 229評(píng)論 0 0
  • 每個(gè)人都有兒時(shí)的夢想价脾,隨著年歲漸長,我們?yōu)榱松畹殉祝蜁?huì)慢慢放棄夢想侨把,甚至都會(huì)暫時(shí)遺忘自己曾有過的夢。 英國作家毛姆...
    芷水中銀三星閱讀 504評(píng)論 4 8