前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CentOS MONO nginx 运行

CentOS MONO nginx 运行

作者头像
py3study
发布2020-01-09 15:25:50
1K0
发布2020-01-09 15:25:50
举报
文章被收录于专栏:python3python3

   昨天做了个部署.net On linux的测试,今天调试成功。

    部署环境:

  CentOS6.2 X86-64

libgdiplus-2.10

    mono 2.10.8

    xsp-2.10

    nginx1.2.7

    第一步:安装必要的软件包

     yum install gcc gcc-c++ bison pkgconfig glib2-devel gettext make libpng-devel libjpeg-devel

                 libtiff-devel libexif-devel giflib-devel

                 libX11-devel freetype-devel fontconfig-devel cairo-devel

     (如果编译的过程中提示你需要什么依赖的话,再安装吧,这样差不多了)还有个openssl-devel得装,因为需要安装pcre软件(nginx需要它)。如果你是最小化安装Linux,那么还得安装yum install  wget unzip

    第二步:准备相应软件

    下载libgdiplus-2.10

    wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2

    下载mono2.10.8

    wget http://download.mono-project.com/sources/mono/mono-2.10.8.tar.bz2

    下载xsp-2.10

    wget http://download.mono-project.com/sources/xsp/xsp-2.10.tar.bz2

    下载pcre

    wget  ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.32.zip

    下载Nginx

    wget  http://nginx.org/download/nginx-1.2.7.tar.gz

 --------------------割一下---------------------------

    第三步:安装

先安装libgdiplus-2.10

    tar jxvf  libgdiplus-2.10.tar.bz2

    cd   libgdiplus-2.10

    ./configure --prefix=/opt/mono

    make

    make install

安装mono

   tar -jxvf mono-2.10.8.tar.bz2

   cd mono-2.10.8

   ./configure --prefix=/opt/mono

   make  (这一步时间相当长)

   make install

更改环境变量

   回到安装用户的家目录:cd  ~

   在家目录下编辑.bash_profile文件

   vi  .bash_profile

   在最后面加入:

   PKG_CONFIG_PATH=/opt/mono/lib/pkgconfig

   LD_LIBRARY_PATH=/opt/mono/lib

   PATH=/opt/mono/bin:$PATH

   export PKG_CONFIG_PATH LD_LIBRARY_PATH PATH

   保存退出

   vi /etc/ld.so.conf

   在最后加入/opt/mono/lib

上面这步我有点晕,这个操作是把mono的lib加到全局lib中,而上面那个环境变量LD_LIBRARY_PATH=/opt/mono/lib

   也是同样目的,在ld.so.conf中找不到的话,就在LD_LIBRARY_PATH=/opt/mono/lib中找,是不是重复了??

   先不管这些,继续。

   操作完之后,要让系统这次参数生效有两个办法:

   第一:. ./.bash_profile(在家目录执行次命令)

        ldconfig(任意地方执行次命令,目的:加载lib)

   第二:logout注销用户,重新登录

   如果你的环境变量生成好了,那么输入mono -V查看mono版本

   如果正确显示版本,那么说明安装无误。

安装xsp-2.10

   tar jxvf  xsp-2.10.tar.bz2

   cd xsp-2.10

    ./configure -prefix=/opt/mono

   make

   make install

安装pcre

   unzip  pcre-8.32.zip

   cd  pcre-8.32

   ./configure --prefix=/usr/local/pcre

   make 

   make install

   按理说这样就ok了,可是,出问题了。问题在下面...

   安装nginx

   tar zxvf nginx-1.2.7.tar.gz

   cd  nginx-1.2.7

创建用户和组:

   useradd www

   ./configure --prefix=/opt/nginx  --user=www --group=www --with-http_stup_status_module --with-http_ssl_module --with-pcre=../pcre-8.32

   make

   make install

   亮点在绿色部分,绿色的参数表示的pcre解压目录,nginx要的是它的解压目录。那我上面为啥还有编译安装pcre呢?

   我怕在这一步出错,编译安装下试试,看看能不能通过。果然,缺少openssl支持。yum install openssl-devel就可以了。

   我把/usr/local/pcre删除掉。rm -rf /usr/local/pcre

  把nginx的sbin加入到环境变量:

  vi .bash_profile

  PATH=/opt/mono/bin:$PATH改成PATH=/opt/nginx/sbin:/opt/mono/bin:$PATH就ok了。

第四部:修改配置文件

      修改/opt/nginx/conf/nginx.conf

      server {         listen       80;         server_name  localhost;         location / { root  /data/web;             index  index.html index.htm;             #fastcgi_index Default.aspx; fastcgi_pass  127.0.0.1:9000; include   /opt/nginx/conf/fastcgi_params;         }         error_page   500 502 503 504  /50x.html;         location = /50x.html {             root   html;         }        红色部分是修改的地方。

       修改/opt/nginx/conf/fastcgi_params

       在最下面一行加入:

       fastcgi_param  PATH_INFO          "";        fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;

       这两处修改用来让nginx支持.net MVC

       好了,保存退出。

       创建文件夹/data/web上面参数我自定义的,习惯的话就把目录改成/var/www/html好了,呵呵。

      启动nginx

      /opt/nginx/sbin/nginx

      如果上面修改的nginx环境变量生效直接输入nginx启动。

      然后启动fastcgi

      fastcgi-mono-server2 /applications=www.domain1.xyz:/:/var/www/www.domain1.xyz/ /socket=tcp:127.0.0.1:9000

      上面那个启动了是不是到后台了,如要需要在后台跑,加个 &

第五步:测试

      cd /data/web

      vim test.aspx

      输入内容:<%="HelloWorld!"%>保存退出。

     在浏览器输入:ip/test.aspx看看跑起来了吗?

     nginx重启:nginx -s reload

     nginx关闭:ps -ef |grep nginx

                kill -9   nginx的进程

     fastcgi关闭同上。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  •    昨天做了个部署.net On linux的测试,今天调试成功。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档