《资治通鉴7》总结-20240611

背景

《资治通鉴》7,始读于公元2023年10月8日杭州家中,终于2024年6月10日,西安三桥万象城酒店中,此时母检出恶病,无心读书,潦草读完了最后十几页,希望第八本读完时,母亲已经处于恢复的过程中,重享健康体魄。

内容说明

《资治通鉴》7记录了介于公元 317年到公元386年这70年发生在中华大地,长江南北的政事,这70年,是南北朝的重要组成部分。经历了一些关键的人物和事情,比如:

1. 王与马,共天下:王导/王敦兄弟,和司马家族,共享东晋朝廷的历史。
2. 前赵的兴起:刘渊,光武帝,魏武帝的忠实粉丝。
3.从前赵分离出来的后赵贤君王,石勒,张滨,乃后赵的张子房,以及佛家高僧 佛图澄,也有记载。然后,还有后赵的昏君,石虎,以及他的子孙,最后羯族部落,被 冉闵的冉魏灭掉。
4. 兴起于东北的鲜卑慕容家族建立了前燕,发家于龙城(沈阳市朝阳市),慕容廆,慕容翰,慕容皝。
5.打败了前燕的前秦大帝苻坚,实在可惜,没有王猛的辅佐,苻坚被胜利冲昏了头脑:久战则民必疲,久胜则主必较;以骄主御疲民,未闻有不败者。
6.淝水之战以后,脱离前秦,建立后燕的慕容垂;以及西燕的慕容永。

无数次为 苻坚的“妇人之仁”而惋惜,但是,深处那个时代的人,都有自身的局限,苻坚已经做的够好了,以仁义换统一。

也多次被 前赵和后找的迅速灭亡而震撼到,第一代君主都是英明神武,具备远大理想的,但是传到了第二代,第三代,就开始争夺利益,内部斗争,不断的弑君,反叛,导致整个王朝灭亡,实属悲剧。

另外,东晋朝臣安于江南,不思中原的作风,虽然不齿,但是放到今天也是一样的,司马家族在建康呆了几十年,谁愿意再动刀戈,尝试去收复中原。只有:祖逖,刘琨这样的有志之士想要去完成祖国统一大业;而桓温的北伐,久不知其深层含义,可能为了立功,篡位而北伐吧。

相关名言警句:

  1. 立功立事,惟问志略何如耳。
  2. 圣王用刑,惟诛元恶。
  3. 王与马,共天下。
  4. 铅刀岂无一割之用。
  5. 鱼相忘于江湖,人相忘于道术。
  6. 城狐社鼠。
  7. 见形者谓之逆,体诚者谓之忠。
  8. 钩深致远。
  9. 济济多士,文于以宁。
  10. 修己而天不与者,命也;守道而人不知者,性也。
  11. 亡胡之谶 厌弧之谣。
  12. 达人君子,直道而行,禳避之道,皆所不取。
  13. 非欲取君以邀功,乃 欲全君以安民也。
  14. 霸王之业,非义不济。
  15. 唯德唯贤,能服于人。
  16. 天道无亲,常与善人。
  17. 三吴都会:吴郡,吴兴,会稽。
  18. 郭默杀方州,即用为方州;害宰相,便为宰相乎
  19. 黄吻婢儿。
  20. 管理之要:明受任之方。
  21. 报恩莫大于荐贤,报德莫如尽言。
  22. 国之兴衰,系于辅相。
  23. 怒其室而作色于父。
  24. 志士痛朝危,忠臣哀主辱。
  25. 治本在得人。
  26. 善用兵者,结士以心,不以异物。
  27. 官必当材,刑必当罪。
  28. 天子有道,守在四夷,诸侯有道,守在四邻。
  29. 随珠弹雀。
  30. 知足不辱,知止不殆。
  31. 威克厥爱,允济;爱克厥威,允罔功。
Posted in 资治通鉴 | 《资治通鉴7》总结-20240611已关闭评论

nginx + uwsgi + flask 补充内容

于 2024年6月1号开始把的云主机从张北迁移到杭州来,因为 OS 是从 6U 升级到 阿里云的龙蜥OS 8u,所以,光 WordPress 就折腾了1天多,终于搞定。

然后,记起来以前也通过 php 的 server 支持了 ios 的 API服务,所以,尝试把 ios 的服务端切换到 flask + python 来。

继续研究了 2018年的在博客记录的 flask 的配置,稍作了修改,如下:

1: 首先,使用一个域名 cmesoft.com 提供服务。

2:其次,配置 /etc/nginx/conf.d/cmesoft.conf 支持 WordPress站点,内容如下:

server {
	    	listen       80;                        # 监听端口
		server_name www.cmesoft.com cmesoft.com;    # 站点域名
		#server_name  121.199.16.184 121.199.16.184;
			client_max_body_size 50M;
	                  # 站点根目录

	    	
	       location / {
		       		#index index.html index.htm index.php;   # 默认导航页
				root  /data/web/cmesoft;    
				index  index.php index.html index.htm;
						        }

	           location ~ \.php$ {

			        fastcgi_pass 127.0.0.1:9000;
				#fastcgi_index index.php;
				#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
				fastcgi_param  SCRIPT_FILENAME  /data/web/cmesoft/$fastcgi_script_name;
				include        fastcgi_params;
			}
}

3:因为 wordpress 的页面放在: /data/web/cmesoft 下,而 python api的代码放在 /data/web/pyapi 底下,所以,为了把服务隔离开,不同的目录,不同额端口,给 pyapi 配置另外一个服务端口。

4. pyapi 的 nginx 配置如下:

cat  /etc/nginx/conf.d/pyapi.conf 
server {
	listen       8080 default_server;
	server_name  _;

	location ~ /pyapi { 
		proxy_pass http://127.0.0.1:8888;
			}

		error_page 404 /404.html;
		location = /40x.html {
				}

		error_page 500 502 503 504 /50x.html;
			location = /50x.html {
			}

}

让 pyapi 监听 8080 端口,转到后端 flask 的 8888 端口,uwsgi 配置如下:

cat uwsgi.ini
[uwsgi]
## For directlly http access
http-socket=127.0.0.1:8888

### For nginx proxy
#socket=/tmp/ppt.sock

wsgi-file=/data/web/pyapi/server.py
#plugins = python
callable = app
#chdir = /data/install/bin
touch-reload=/data/web/pyapi/
processes = 4
threads = 4
stats = 127.0.0.1:9191
post-buffering = 8192
buffer-size = 65535
socket-timeout = 10
uid = apache
gid = apache
master = true
#protocol = uwsgi
daemonize = uwsgi.log
pidfile = uwsgi.pid

然后,/data/web/pyapi/server.py 内容如下:

cat server.py 
from flask import Flask,render_template, jsonify
from flask import request

app = Flask(__name__)

@app.route('/pyapi', methods=['GET', 'POST'])
def index():
    requester = request.remote_addr
    #logging.info('Data request from: %s' % requester)
    url = request.url
    uid = url.split('uid=')[-1]
    get_name=request.args.get("name")
    post_name=request.form.get("name")
                                            #return "Test message, your input uid=%s, method=%s, get_name=%s, post_name=%s  from %s\n" % (uid, request.method, get_name, post_name, requester)
                                            
    return jsonify(get_name=get_name,post_name=post_name)

if __name__ == '__main__':
    app.run()

在阿里云的ECS上开启对外的 8080 端口服务,测试如下:

# curl -s "cmesoft.com:8080/pyapi?uid=3434&name=get_Wade" -d "name=post_james" | jq
{
  "get_name": "get_Wade",
  "post_name": "post_james"
}

从代码和测试可以看到,我们的 FLASK API 接受 GET 和 POST 调用,可以作为一个小小的 服务端 API 网关。

今天就更新到这里。 —- 2024-06-02 22:20 分。

Posted in 运维相关 | nginx + uwsgi + flask 补充内容已关闭评论