centos上部署nodeJS+puppeteer【天坑】
技術標籤:pupperteernodejs
注意,資料來源網路,非原創,我是搬運工、測試工。
1,先安裝寶塔
2,在寶塔的軟體商店找到pm2並安裝
3,安裝淘寶NPM映象,
npm install -g cnpm --registry=https://registry.npm.taobao.org
4,在/www/wwwroot 下面建立一個資料夾:mkdir onenode
5,cd /www/wwwroot/onenode
6,npm init
7, 安裝 npm i puppeteer
8, 安裝puppeteer後,檢查puppeteer依賴是否全部安裝,執行:
ldd node_modules/puppeteer/.local-chromium/linux-555668/chrome-linux/chrome
注意,如果上面這個命令無效,就根據第13步看到的目錄路徑,cd進去,然後執行:ldd chrome | grep not 檢視缺失的包
9, 發現未安裝依賴,將每一個都執行一次命令檢視其依賴包,記得每一個都要執行一次:
repoquery --nvr --whatprovides xxx.xxx.xx
10, 執行上一步後,會彈出對應的依賴包,然後複製貼上,安裝此依賴: yum install ******
11,建立app.js
const puppeteer = require(‘puppeteer’); const { targetPath } =
require(’./storage.config’)try {
(async () => {
const browser = await puppeteer.launch(); //開啟瀏覽器
const page = await browser.newPage(); //新建標籤頁
await page.goto(‘https://www.baidu.com’); //跳轉指定頁面
await page.screenshot({ //截圖 預設800x600
path:${targetPath}/home.png
});
await browser.close();//關閉瀏覽器
console.log(‘截圖成功’);
})(); } catch (error) {console.log(error.message); }
12, 建立storage.config.js
// 該檔案用於配置擷取圖片儲存的路徑
const path = require(‘path’); const fs = require(‘fs’);
// 設定儲存圖片路徑為根目錄下的img資料夾 const targetPath = path.resolve(__dirname,
‘img’);//如果該資料夾不存在,則建立
if (!fs.existsSync(targetPath)) {
fs.mkdirSync(targetPath) }exports.targetPath=targetPath
13, 執行 node app.js, 如果出現以下錯誤:
就請你重複第8步,檢查是否依賴安裝完畢。
補充:中文亂碼問題
1.安裝fontconfig(如系統自帶,可以不裝):
yum -y install fontconfig
2.新增中文字型庫
從window的C:\Windows\Fonts裡面把你需要的字型拷貝出來。比如simfang.ttf
在CentOS的/usr/share/fonts新建一個叫chinese的資料夾
然後把剛剛拷貝字型放到CentOS的/usr/share/fonts/chinese裡面作者:Alinawu 連結:https://www.jianshu.com/p/f2ba4f5b8f36 來源:簡書
著作權歸作者所有。商業轉載請聯絡作者獲得授權,非商業轉載請註明出處。
3.修改chinese目錄的許可權:
chmod -R 775 /usr/share/fonts/chinese
4.接下來需要安裝ttmkfdir來搜尋目錄中所有的字型資訊,並彙總生成fonts.scale檔案,輸入命令
yum -y install ttmkfdir ttmkfdir -e
/usr/share/X11/fonts/encodings/encodings.dir
5.修改字型配置檔案 vi /etc/fonts/fonts.conf
<dir>/usr/share/fonts</dir>
<dir>/usr/share/X11/fonts/Type1</dir>
<dir>/usr/share/X11/fonts/TTF</dir>
<dir>/usr/local/share/fonts</dir>
<dir>/usr/local/share/fonts/chinese</dir>
<dir prefix="xdg">fonts</dir>
<!-- the following element will be removed in the future -->
<dir>~/.fonts</dir>
6.重新整理記憶體中的字型快取,命令列輸入:
fc-cache
7.看一下現在機器上已經有了剛才新增的字型。命令列輸入:
fc-list :lang=zh
8.再執行一下node app.js截圖,完畢。
文章參考連線:
1.https://blog.csdn.net/qq_42813491/article/details/102645851
2.https://www.cnblogs.com/xuzhengzong/articles/14135344.html
3.https://www.jianshu.com/p/f2ba4f5b8f36
4.https://www.jianshu.com/p/163d355d2454?utm_campaign=maleskine&utm_content=note&utm_medium=seo_notes&utm_source=recommendation
5.https://www.bwmelon.com/archives/27/