Nginx服務器安裝MathLatex詳細記錄

根據(jù)MathLatex批量的生成數(shù)學公式流程很簡單:根據(jù)latexdvipngmathtex.c生成一個mathtex.cgi文件,放在服務器上。然后訪問服務器的mathtex.cgi生成公式圖片。其中latex程序用來識別公式,dvipng用來將公式轉(zhuǎn)換為圖片,mathtex.cgi就是調(diào)用這兩個工具。下面是在Nginx安裝服務器生成MathLatex生成工具記錄。

下載mathtex.zip

wget http://www.forkosh.com/mathtex.zip

然后unzip mathtex.zip解壓

安裝Latex和dvipng

mathtex在線幫助文檔:http://www.forkosh.com/mathtex.html,開頭處提供了提供了快速的安裝步驟,但是過程卻并不是像描述的那樣順利。

MathLatex-Help.png

根據(jù)描述需要在http://www.latex-project.org/get/安裝LaTeX,通過上面的圖片包含的說明: TeX distribution with dvipng,推測latex和png很可能是在一起的。但是通過看幫助文檔發(fā)現(xiàn)有的時候不是在一起的。latex提供了很多種安裝方式,推薦是兩種通過網(wǎng)絡在線安裝和下載一個鏡像文件。

rm -rf /usr/local/texlive/2016
rm -rf ~/.texlive2016

然后

./install-tl 

然后選擇的i安裝 (linux系統(tǒng)上安裝需要完整的perl環(huán)境,沒有的運行命令yum install perl*安裝);大約需要兩個小時左右,安裝完成后添加環(huán)境變量。

vim /etc/profile

最后加入export PATH=/usr/local/texlive/2016/bin/x86_64-linux:$PATH;保存后source /etc/profile刷新一下生效。因為mathtex.cgi 生成命令是

  cc mathtex.c   \ 
      –DLATEX=\"$(which latex)\"   \ 
      –DDVIPNG=\"$(which dvipng)\"   \ 
      –o mathtex.cgi 

所以可以查看下latex和dvipng的路徑

 find / -name 'latex'
 find / -name '?dvipng'

一般latex會在/usr/bin/latex,但是dvipng可能沒有。本次通過網(wǎng)絡在線安裝latex的時候就是沒有包含dvipng,這個時候可以自己獨立安裝dvipng,divpng下載地址http://download.savannah.gnu.org/releases/dvipng/,幫助地址http://www.nongnu.org/dvipng/dvipng_2.html#Installation,安裝也同樣很簡單。

 ./configure, make, and make install.

可能遇到的問題,在某些系統(tǒng)上configure無法自己找到某些所需要的庫,幫助文檔里面也提到了,最可能找不到libkpathsea,這時可以自己去系統(tǒng)找這個類庫的路徑,還可以按照作者說的在 http://www.ctan.org搜索自己編譯(這個放棄了,因為libkpathsea是在latex安裝時候已經(jīng)安裝了,并沒有獨立的發(fā)布過,但是最新版本的latex并沒有包含這個庫)。實驗了很多次都沒有成功,包括使用yum install。萬般無奈之下想下載latex以前的版本,但是以前的版本沒有找到在線下載的鏈接。所以直接通過網(wǎng)絡安裝的方式就放棄了。

  • 鏡像文件。

參考這個鏈接:http://www.linuxidc.com/Linux/2016-08/133913.htm。所有的安裝步驟和上面一樣,唯一不同就是這個需要掛載后安裝,然后取消掛載。通過這個安裝完成的鏡像文件。發(fā)現(xiàn)這里安裝latex的時候已經(jīng)把dvipng一起安裝了。直接按照上面的步驟生成mathtex.cgi完成。安裝實際命令。如果最后發(fā)現(xiàn)不能生成圖片,提示錯誤http://www.forkosh.com/mathtex.html可以根據(jù)這個網(wǎng)站查找,很有可能就是下面的dvipng的路徑不對,因為用whereis命令查找dvipng可能出現(xiàn)多個,出現(xiàn)多個可能是自己之前通過其他方式安裝過但是并不全??梢試L試的更改DDVIPNG后面的路徑重新生成mathtex.cgi。

 cc -DLATEX=\"/usr/bin/latex\" -DDVIPNG=\"/usr/local/texlive/2016/bin/x86_64-linux/dvipng\" mathtex.c  -o mathtex.cgi

服務器配置

Nginx服務器不能直接運行cgi程序。所以要安裝一些工具實現(xiàn)。參考

http://www.cnblogs.com/studyskill/p/6524220.html
http://blog.csdn.net/allenlinrui/article/details/19419721。

安裝的工具是fastcgi,fastcgi-wapper.

實際的步驟是建立這個目錄/usr/local/nginx/cgi-bin/,并將mathtex.cgi移動到這里面。在/usr/local/nginx/conf/vhost/目錄下建立一個主機配置文件,內(nèi)容如下

server {
listen 80;
server_name latex.example.com;
access_log /data/wwwlogs/www.hskaoyan.com_nginx.log combined;
index mathtex.cgi;
include /usr/local/nginx/conf/rewrite/none.conf;
root /usr/local/nginx/cgi-bin/ ;
        location ~ .*\.cgi$ {
                fastcgi_pass  127.0.0.1:8081;
                fastcgi_index mathtexi.cgi;
                include fastcgi.conf;
        }
}

其中server_name latex.example.com;是自己添加的域名解析記錄。fastcgi_pass 127.0.0.1:8081;表示由服務器自己調(diào)用當前服務器上的cgi端口號8081.如果cgi不在本臺服務器可以填寫其他地址。

配置完成后更新配置,啟動fastcgi-wapper

nginx -s reload
/usr/local/bin/spawn-fcgi -f /usr/local/sbin/fcgiwrap -p 8081

最后查看是否成功啟動

Paste_Image.png

到此全部安裝完成.
http://latex. example.com/mathtex.cgi?\png\dpi{300}abc 瀏覽器敲上面地址產(chǎn)生abc圖片。

Paste_Image.png
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Page 1:nginx 服務器安裝及配置文件詳解 CentOS 6.2 x86_64 安裝 nginx 1.1 ...
    xiaojianxu閱讀 8,673評論 1 41
  • 一、MemCache簡介 session MemCache是一個自由、源碼開放、高性能、分布式的分布式內(nèi)存對象緩存...
    李偉銘MIng閱讀 4,001評論 2 13
  • 第一章 Nginx簡介 Nginx是什么 沒有聽過Nginx?那么一定聽過它的“同行”Apache吧!Ngi...
    JokerW閱讀 33,018評論 24 1,002
  • 本章講可信性,首先提到了網(wǎng)絡釣魚。從最初的假郵件,到后來越來越高明的釣魚網(wǎng)站,網(wǎng)絡釣魚的伎倆不斷翻新。那么,怎么才...
    JYQC66閱讀 639評論 0 0
  • 2016年10月的最后一天,對于瑪奇朵小姐來講,無比奇特。是近一個月充滿忐忑與期待生活的了結(jié),是身體與精神初體...
    瑪奇朵小姐閱讀 221評論 0 0

友情鏈接更多精彩內(nèi)容