Nginx服务器安装MathLatex详细记录

根据MathLatex批量的生成数学公式流程很简单:根据latexdvipngmathtex.c生成一个mathtex.cgi文件,放在服务器上。然后访问服务器的mathtex.cgi生成公式图片。其中latex程序用来识别公式,dvipng用来将公式转换为图片,mathtex.cgi就是调用这两个工具。下面是在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

根据描述需要在http://www.latex-project.org/get/安装LaTeX,通过上面的图片包含的说明: TeX distribution with dvipng,推测latex和png很可能是在一起的。但是通过看帮助文档发现有的时候不是在一起的。latex提供了很多种安装方式,推荐是两种通过网络在线安装和下载一个镜像文件。

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

然后

./install-tl 

然后选择的i安装 (linux系统上安装需要完整的perl环境,没有的运行命令yum install perl*安装);大约需要两个小时左右,安装完成后添加环境变量。

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可能没有。本次通过网络在线安装latex的时候就是没有包含dvipng,这个时候可以自己独立安装dvipngdivpng下载地址http://download.savannah.gnu.org/releases/dvipng/,帮助地址http://www.nongnu.org/dvipng/dvipng_2.html#Installation,安装也同样很简单。

 ./configure, make, and make install.

可能遇到的问题,在某些系统上configure无法自己找到某些所需要的库,帮助文档里面也提到了,最可能找不到libkpathsea,这时可以自己去系统找这个类库的路径,还可以按照作者说的在 http://www.ctan.org搜索自己编译(这个放弃了,因为libkpathsea是在latex安装时候已经安装了,并没有独立的发布过,但是最新版本的latex并没有包含这个库)。实验了很多次都没有成功,包括使用yum install。万般无奈之下想下载latex以前的版本,但是以前的版本没有找到在线下载的链接。所以直接通过网络安装的方式就放弃了。

  • 镜像文件。

参考这个链接:http://www.linuxidc.com/Linux/2016-08/133913.htm。所有的安装步骤和上面一样,唯一不同就是这个需要挂载后安装,然后取消挂载。通过这个安装完成的镜像文件。发现这里安装latex的时候已经把dvipng一起安装了。直接按照上面的步骤生成mathtex.cgi完成。安装实际命令。如果最后发现不能生成图片,提示错误http://www.forkosh.com/mathtex.html可以根据这个网站查找,很有可能就是下面的dvipng的路径不对,因为用whereis命令查找dvipng可能出现多个,出现多个可能是自己之前通过其他方式安装过但是并不全。可以尝试的更改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程序。所以要安装一些工具实现。参考

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/目录下建立一个主机配置文件,内容如下

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;表示由服务器自己调用当前服务器上的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 浏览器敲上面地址产生abc图片。

Paste_Image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,117评论 4 362
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,328评论 1 293
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,839评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,007评论 0 206
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,384评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,629评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,880评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,593评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,313评论 1 243
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,575评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,066评论 1 260
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,392评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,052评论 3 236
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,082评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,844评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,662评论 2 274
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,575评论 2 270

推荐阅读更多精彩内容