晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
Server : Apache System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64 User : rainic ( 1014) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /usr/local/lsws/fcgi-bin/ |
Upload File : |
#!/usr/bin/ruby
ENV['RACK_ROOT']=ENV['RAILS_ROOT'] if ENV['RACK_ROOT'] == nil
ENV['RACK_ENV']=ENV['RAILS_ENV'] if ENV['RACK_ENV'] == nil
$0="RACK: #{ENV['APP_NAME'] || ENV['RACK_ROOT']} (#{ENV['RACK_ENV']})"
if GC.respond_to?(:copy_on_write_friendly=)
GC.copy_on_write_friendly = true
end
Dir.chdir( ENV['RACK_ROOT'] )
app_root=ENV['RACK_ROOT']
require 'rubygems' if !defined?(::Gem)
require 'lsapi'
if File.exist?('Gemfile')
if Kernel.respond_to?(:gem, true)
gem('bundler')
end
require ('bundler/setup' || 'bundler')
end
module Rack
module Handler
class LiteSpeed
def self.run(app, options=nil)
if LSAPI.respond_to?("accept_new_connection")
while LSAPI.accept_new_connection != nil
fork do
LSAPI.postfork_child
while LSAPI.accept != nil
serve app
end
end
LSAPI.postfork_parent
end
else
while LSAPI.accept != nil
serve app
end
end
end
def self.serve(app)
env = ENV.to_hash
env.delete "HTTP_CONTENT_LENGTH"
env["SCRIPT_NAME"] = "" if env["SCRIPT_NAME"] == "/"
#rack_input = StringIO.new($stdin.read.to_s)
rack_input = $stdin
rack_input.set_encoding(Encoding::BINARY) if rack_input.respond_to?(:set_encoding)
env.update(
"rack.version" => [1,0],
"rack.input" => rack_input,
"rack.errors" => $stderr,
"rack.multithread" => false,
"rack.multiprocess" => true,
"rack.run_once" => false,
"rack.url_scheme" => ["yes", "on", "1"].include?(ENV["HTTPS"]) ? "https" : "http"
)
env["QUERY_STRING"] ||= ""
env["HTTP_VERSION"] ||= env["SERVER_PROTOCOL"]
env["REQUEST_PATH"] ||= "/"
status, headers, body = app.call(env)
begin
if body.respond_to?(:to_path) and env["RACK_NO_XSENDFILE"] != "1"
headers['X-LiteSpeed-Location'] = body.to_path
headers.delete('Content-Length') #Correct?
send_headers status, headers
else
send_headers status, headers
send_body body
end
ensure
body.close if body.respond_to? :close
end
end
def self.send_headers(status, headers)
print "Status: #{status}\r\n"
headers.each { |k, vs|
vs.split("\n").each { |v|
print "#{k}: #{v}\r\n"
}
}
print "\r\n"
STDOUT.flush
end
def self.send_body(body)
body.each { |part|
print part
STDOUT.flush
}
end
end
end
end
if Kernel.respond_to?(:gem, true)
gem('rack')
end
require 'rack'
#
options = {
:environment => (ENV['RACK_ENV'] || "development").dup,
:config => "#{app_root}/config.ru",
:detach => false,
:debugger => false
}
server = Rack::Handler::LiteSpeed
if File.exist?(options[:config])
config = options[:config]
cfgfile = File.read(config)
app = eval("Rack::Builder.new {( " + cfgfile + "\n )}.to_app", TOPLEVEL_BINDING, config)
else
require './config/environment'
inner_app = ActionController::Dispatcher.new
app = Rack::Builder.new {
use Rails::Rack::Debugger if options[:debugger]
run inner_app
}.to_app
end
if defined?(ActiveRecord::Base)
if defined?(ActiveRecord::Base.connection_pool.release_connection)
ActiveRecord::Base.connection_pool.release_connection
else
ActiveRecord::Base.clear_active_connections!
end
end
begin
server.run(app, options.merge(:AccessLog => []))
ensure
puts 'Exiting'
end