ติดตั้ง mono และ nginx บน CentOS 6
Mono คือ sofware เครื่องมือที่ใช้สำหรับพัฒนาโปรแกรมในแพลตฟอร์ม .Net Framework, C# ทางฝั่ง Windows ซึ่งถ้าหากเราจะนำมาทำงานบน Linux เราสามารถใช้ mono นี่แหล่ะมาช่วยให้ทำงานได้ ซึ่งในโพสต์นี้ผมจะทำการติดตั้ง mono มาทำงานร่วมกับ nginx เพื่อให้รันเวปไซต์ที่เขียนด้วย .Net Step มีดังนี้
- ติดตั้ง mono
- ติดตั้ง nginx
- start mono process
- ปรับค่า nginx ให้ใช้งานแบบ fastcgi
1. ติดตั้ง mono
ให้ทำการ add repository ตัวนี้ไป
cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/home:tpokorra:mono/CentOS_CentOS-6/home:tpokorra:mono.repo yum install mono-opt
เสร็จแล้วทำการติดตั้ง
yum install mono-opt mono-tools-opt mono-xsp-opt mono-opt-devel mono-basic
ซึ่ง package ข้างบนนี้จะทำการติดตั้ง mono ไปอยู่ที่ path /opt/mono ครับ
2. ติดตั้ง nginx
yum install nginx
3. start mono process
/opt/mono/bin/mono /opt/mono/lib/mono/4.5/fastcgi-mono-server4.exe /applications=ball.dev:/:/var/www/ball.dev/ /socket=tcp:127.0.0.1:9000
ผมได้ทำการ start mono แบบ fastcgi server
ชื่อ application = ball.dev
ที่ path = /var/www/ball.dev
start ขึ้นมาด้วย tcp port 9000
4. เพิ่ม config ในส่วนของ server ไปดังนี้
[shell]
server {
listen 80;
server_name ball.dev;
access_log /var/log/nginx/ball.dev-access.log;
location / {
root /var/www/ball.dev/;
index index.html index.htm default.aspx Default.aspx;
fastcgi_index Default.aspx;
fastcgi_pass 127.0.0.1:9000;
fastcgi_param PATH_INFO "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}
}
[/shell]
จากนั้นทำการ start nginx
service nginx start
ลองสร้างไฟล์ สักไฟล์ที่ /var/www/ball.dev/Default.aspx
[vb]
<%@ Page Language="VB" %>
<script runat="server">
Sub Page_Load(sender As Object, e As EventArgs)
Me.lblText.Text = "Hello World"
End Sub
</script>
<html>
<head>
<title>engineerball.com</title>
</head>
<body>
<form id="form1" runat="server">
<asp:Label id="lblText" runat="server"></asp:Label>
</form>
</body>
</html>
[/vb]
เสร็จแล้วลองรันดู ก็จะได้ Hello world ออกมา
Hello World