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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容