Compare commits

..
268 Commits
Author SHA1 Message Date
midoks f8bea1c812 Update info.json 2021-02-19 21:52:02 +08:00
midoks 4a83cfba83 Update info.json 2021-02-19 21:51:37 +08:00
midoks 199aec01ca Update phplib.conf 2021-02-19 21:50:57 +08:00
midoks 65d6b5e360 Create seaslog.sh 2021-02-19 21:50:39 +08:00
midoks dac412ad4e up 2021-02-19 21:42:51 +08:00
midoks 0f3aaf015a up 2021-02-19 21:39:41 +08:00
midoks d48be332ca Update README.md 2021-02-19 21:31:05 +08:00
midoks c943034145 up 2021-02-19 21:28:24 +08:00
midoks e453a8fa79 Update phplib.conf 2021-02-19 21:21:41 +08:00
midoks b84b7ec0d0 Update redis.sh 2021-02-19 21:19:04 +08:00
midoks 22b3b1e90f up 2021-02-19 21:18:19 +08:00
midoks d1eb61bb84 Create mongodb.sh 2021-02-19 21:13:17 +08:00
midoks aba61490d4 Update yaf.sh 2021-02-19 21:09:23 +08:00
midoks 298023f283 Update phplib.conf 2021-02-19 21:03:52 +08:00
midoks e5e55431ed Create redis.sh 2021-02-19 21:03:33 +08:00
midoks 13c3a20e84 Update swoole.sh 2021-02-19 21:00:51 +08:00
midoks b5a15244b3 up 2021-02-17 11:39:08 +08:00
midoks cb446ae89c Update install.sh 2021-02-17 11:37:25 +08:00
midoks 83ccf6ff24 up 2021-02-16 15:05:53 +08:00
midoks 1eb20f7cb6 Update index.py 2021-02-16 14:46:09 +08:00
midoks 34574a36f1 up 2021-02-16 14:20:34 +08:00
midoks 91c8d1f47a up 2021-02-16 14:10:06 +08:00
midoks 0e5760eaa2 Update index.py 2021-02-16 13:45:36 +08:00
midoks 81a25eeedf Update my8.0.cnf 2021-02-16 12:57:22 +08:00
midoks 627c9efb44 Update my8.0.cnf 2021-02-16 12:55:39 +08:00
midoks e76db6c669 Update my.cnf 2021-02-16 12:55:05 +08:00
midoks c44e901992 Update install.sh 2021-02-16 11:56:59 +08:00
midoks b88d03f316 Update my.cnf 2021-02-15 22:41:40 +08:00
midoks ede3872627 Update my.cnf 2021-02-15 22:40:31 +08:00
midoks 29b50e057c Update index.py 2021-02-15 21:12:22 +08:00
midoks ff75e0440f up 2021-02-15 17:58:57 +08:00
midoks 4ab8d5854b Update mysql.js 2021-02-15 15:32:08 +08:00
midoks d555cdacb8 up 2021-02-15 15:27:32 +08:00
midoks c704184884 up 2021-02-15 15:08:45 +08:00
midoks 9e58352fad Update mysql.js 2021-02-15 12:42:22 +08:00
midoks 0c7a32f372 up 2021-02-15 12:36:26 +08:00
midoks 604c5bc8a0 Update index.py 2021-02-06 14:01:10 +08:00
midoks 87c97694f7 Update index.py 2021-02-06 13:49:01 +08:00
midoks aee7c53729 Update index.py 2021-02-05 22:05:55 +08:00
midoks 22e0ba7043 Update index.py 2021-02-05 21:44:26 +08:00
midoks 280de58a54 up 2021-02-05 21:43:07 +08:00
midoks b6774d8656 up 2021-02-05 21:05:32 +08:00
midoks 268eb0eb2d Update my.cnf 2021-02-05 18:30:39 +08:00
midoks fac0e1179b Update index.py 2021-02-05 17:49:31 +08:00
midoks 985c6f0a67 Update index.py 2021-02-05 16:57:54 +08:00
midoks db1d9320bd Update index.py 2021-02-05 16:52:05 +08:00
midoks 0a110c4afa Update index.py 2021-02-05 16:36:08 +08:00
midoks e436375090 Update index.py 2021-02-05 16:35:20 +08:00
midoks 8723ad9577 up 2021-02-05 16:09:41 +08:00
midoks f8693c8cc3 up 2021-02-05 15:22:45 +08:00
midoks 1a1b0a59ee Update index.py 2021-02-05 14:39:30 +08:00
midoks af22a68540 Update index.py 2021-02-05 14:37:21 +08:00
midoks 696df06794 up 2021-02-05 11:43:05 +08:00
midoks 9886e43335 up 2021-02-05 11:37:49 +08:00
midoks 3bd5886a6c up 2021-02-05 11:35:36 +08:00
midoks aa071bfb15 up 2021-02-05 11:26:47 +08:00
midoks 98d3001861 Update mysql.js 2021-02-05 10:59:11 +08:00
midoks 36b55cc73c Update mysql.js 2021-02-05 02:25:13 +08:00
midoks 80f64066a7 Update mysql.js 2021-02-05 02:06:25 +08:00
midoks a5ce95d831 Update config.inc.php 2021-02-04 20:31:28 +08:00
midoks b07409050a Update mysql.js 2021-02-04 19:26:05 +08:00
midoks a2ee7c9092 Update index.py 2021-02-04 19:18:29 +08:00
midoks f9c9c91490 Update index.py 2021-02-04 19:04:35 +08:00
midoks dca43f812d Update index.py 2021-02-04 18:59:50 +08:00
midoks d93329478d Update crontab_api.py 2021-02-04 17:49:36 +08:00
midoks 3d296e4099 up 2021-02-04 02:49:43 +08:00
midoks b7f9485ff6 up 2021-02-04 02:26:10 +08:00
midoks 65bd3fefa9 Update requirements.txt 2021-02-04 02:20:42 +08:00
midoks 5a4c831809 Update index.py 2021-02-04 02:09:47 +08:00
midoks 3c6ce19b3a Update index.py 2021-02-03 23:44:44 +08:00
midoks cdb6966455 up 2021-02-03 23:20:52 +08:00
midoks 27c8142602 Update index.py 2021-02-03 23:00:17 +08:00
midoks c04779efe2 mysql 主从可配置化end 2021-02-03 22:52:16 +08:00
midoks be5a9f7b4b Update index.py 2021-02-03 21:26:09 +08:00
midoks 1564047a26 up 2021-02-03 21:20:39 +08:00
midoks e561a909e7 up 2021-02-03 19:26:31 +08:00
midoks 3e06062784 Update install.sh 2021-02-03 14:19:09 +08:00
midoks 65a2af748b Update install.sh 2021-02-03 14:17:43 +08:00
midoks febd9de71b Update index.py 2021-02-03 14:15:11 +08:00
midoks 870808b31b Update install.sh 2021-02-03 14:13:07 +08:00
midoks debfdabde9 Update install.sh 2021-02-03 14:09:29 +08:00
midoks 6cf7152478 up 2021-02-03 14:02:12 +08:00
midoks f75d121a59 up 2021-02-03 14:00:55 +08:00
midoks 407b5a619a Update mysql.js 2021-02-03 02:17:11 +08:00
midoks b46bc89cb9 Update index.html 2021-02-03 02:17:06 +08:00
midoks cb587b18bd Update index.py 2021-02-03 00:49:17 +08:00
midoks 8b67421c0c Update index.py 2021-02-03 00:37:16 +08:00
midoks 64f882c6b8 Update index.py 2021-02-03 00:32:06 +08:00
midoks eb6590a275 Update mysql.js 2021-02-02 23:19:04 +08:00
midoks 595c238fb5 up 2021-02-02 22:26:50 +08:00
midoks 80d1e4efe7 Update index.py 2021-02-02 22:06:49 +08:00
midoks 8ee6f9d190 up 2021-02-02 21:30:48 +08:00
midoks 94a2f88633 Update index.py 2021-02-02 20:49:41 +08:00
midoks 605cf36e9c Update my.cnf 2021-02-02 17:42:08 +08:00
midoks 21194aa285 up 2021-02-02 17:31:39 +08:00
midoks e3876de3d2 Update my.cnf 2021-02-02 15:34:45 +08:00
midoks 1e054f9801 up 2021-02-02 15:33:07 +08:00
midoks df048c6bd6 up 2021-02-02 15:32:06 +08:00
midoks 3056fb9ceb up 2021-02-02 15:21:37 +08:00
midoks bb655b55e5 Update index.py 2021-02-02 03:59:06 +08:00
midoks 97ab18a771 Update index.html 2021-02-02 03:58:58 +08:00
midoks 26760502d0 mysql init.d 2021-02-02 03:50:30 +08:00
midoks 126c7e08e3 mysql conf 2021-02-02 03:49:06 +08:00
midoks 5e55cf753e Update install.sh 2021-02-02 01:37:06 +08:00
midoks da8b0ccbfc Update task.py 2021-02-02 01:33:42 +08:00
midoks c746e8e139 Update task.py 2021-02-02 01:31:37 +08:00
midoks 0e2df5620e up 2021-02-02 00:29:10 +08:00
midoks b1b43120ea Update info.json 2021-02-01 22:31:10 +08:00
midoks e854cc083f up 2021-02-01 22:26:55 +08:00
midoks 791f2b8ec9 up 2021-02-01 22:13:59 +08:00
midoks 0c6b293337 Update info.json 2021-02-01 21:16:55 +08:00
midoks da9b3bf435 update mysql version 2021-02-01 20:54:27 +08:00
midoks 301086faa1 up 2021-02-01 20:49:55 +08:00
midoks 3b6b54103b web ssh opt 2021-02-01 20:13:14 +08:00
midoks 6dda90b64f Update mw.py 2021-02-01 19:55:21 +08:00
midoks d28fcce8b6 Update info.json 2021-01-30 16:24:37 +08:00
midoks ba2da974c9 Update __init__.py 2021-01-30 15:05:44 +08:00
midoks 024f8bd62f Update __init__.py 2021-01-30 14:54:37 +08:00
midoks fe7853781b Update __init__.py 2021-01-30 13:56:08 +08:00
midoks d92010bfe0 Update __init__.py 2021-01-30 13:33:11 +08:00
midoks 2631f1771c Update __init__.py 2021-01-30 13:32:26 +08:00
midoks 4cf7a6b8fe Update __init__.py 2021-01-30 13:18:50 +08:00
midoks af460ffed6 Update index.py 2021-01-29 19:59:49 +08:00
midoks a7982c4df3 Update index.py 2021-01-29 19:54:32 +08:00
midoks 0850654da8 Update install.sh 2021-01-29 19:34:58 +08:00
midoks 086e050914 Update index.html 2021-01-29 19:32:44 +08:00
midoks 4c57b9a2e6 Update index.py 2021-01-29 19:26:09 +08:00
midoks ca7095c65a Update index.html 2021-01-29 19:22:45 +08:00
midoks 2c3f2e797d Update swap.tpl 2021-01-29 19:21:41 +08:00
midoks cccd3ff7fc Update index.py 2021-01-29 19:13:38 +08:00
midoks effc3ba296 yp 2021-01-29 19:13:11 +08:00
midoks e96fdea003 Update index.py 2021-01-29 18:51:38 +08:00
midoks 00a43549a2 Update index.py 2021-01-29 18:48:32 +08:00
midoks ebd09842a2 up 2021-01-29 18:42:39 +08:00
midoks 1eccc9cb7c Update index.py 2021-01-29 18:13:05 +08:00
midoks a44df8dd9a Update swap.tpl 2021-01-29 18:07:59 +08:00
midoks 58d78d5c5d swap 2021-01-29 18:05:43 +08:00
midoks 9babeb4373 Update socket5.js 2021-01-29 17:15:53 +08:00
midoks 8345bd8bb5 up 2021-01-29 17:06:53 +08:00
midoks 9106246891 up 2021-01-29 17:03:34 +08:00
midoks 21209a75d8 Update index.py 2021-01-29 16:52:54 +08:00
midoks 3b6d50661b up 2021-01-29 16:50:39 +08:00
midoks 295cc70e0a Update index.py 2021-01-29 16:46:59 +08:00
midoks c7fa266ae1 Update index.py 2021-01-29 16:46:38 +08:00
midoks 8788afc35f o 2021-01-29 16:26:56 +08:00
midoks 44c55ee923 up 2021-01-29 16:13:40 +08:00
midoks 2073fbd680 up 2021-01-29 15:46:36 +08:00
midoks 1b876d4cac Update install.sh 2021-01-29 15:35:31 +08:00
midoks 0961b233e0 socket5 2021-01-29 15:27:08 +08:00
midoks 184bcf88d7 Update install.sh 2021-01-12 13:13:30 +08:00
midoks 3f07a11b53 Update gunicorn.conf 2021-01-05 17:59:28 +08:00
midoks aa3a66cf01 Create gunicorn.conf 2021-01-05 17:39:58 +08:00
midoks 0bc8f670f5 Update index.py 2020-10-13 11:57:36 +08:00
midoks 63cb8f0e84 Update install.sh 2020-10-13 11:54:36 +08:00
midoks 5a17df7c5c Update install.sh 2020-10-13 11:51:43 +08:00
midoks 3ce9735ff8 Update install.sh 2020-10-13 11:47:55 +08:00
midoks 1819b814a3 Update install.sh 2020-10-13 11:45:30 +08:00
midoks f5c5bd03e6 Update eaccelerator.sh 2020-09-30 09:28:27 +08:00
midoks 04c6d4b3cc Update index.py 2020-09-30 03:11:10 +08:00
midoks 7e5116ba59 Update index.py 2020-09-30 03:10:48 +08:00
midoks 44d254415e Update index.py 2020-09-30 03:03:48 +08:00
midoks 0efba47c53 Update index.py 2020-09-30 02:53:59 +08:00
midoks c7be9b7230 Update index.py 2020-09-30 02:53:39 +08:00
midoks 311310e04c Update index.py 2020-09-30 02:52:21 +08:00
midoks 59ca997372 Update index.py 2020-09-30 02:50:47 +08:00
midoks 27a96495ae up 2020-09-30 02:48:16 +08:00
midoks cd1662761b Update php-fpm-52.conf 2020-09-30 02:41:35 +08:00
midoks 4995131e24 Update php-fpm-52.conf 2020-09-30 02:39:08 +08:00
midoks ae9989a13f 兼容php5.2 2020-09-30 02:22:31 +08:00
midoks db143ea39f xhporf 52 2020-09-30 02:06:04 +08:00
midoks 7582b0e6ba php mysql 2020-09-28 17:13:15 +08:00
midoks 1ce6cbef51 Update install.sh 2020-09-28 12:52:11 +08:00
midoks e136330e36 Update install.sh 2020-09-28 11:27:12 +08:00
midoks 346f09dabd Update install.sh 2020-09-28 10:57:29 +08:00
midoks 0d56f1ab5f Update redis.sh 2020-09-27 11:49:11 +08:00
midoks 2f771b1f05 Update redis.sh 2020-09-27 11:44:32 +08:00
midoks 1862e68c52 Update phplib.conf 2020-09-27 11:42:04 +08:00
midoks aaca9cc654 Create redis.sh 2020-09-27 11:40:17 +08:00
midoks bda83eb434 up 2020-09-27 00:15:39 +08:00
midoks 6f5838306d Update phplib.conf 2020-09-26 23:41:56 +08:00
midoks 615e1b60b7 up 2020-09-26 23:40:25 +08:00
midoks 4300a532ba Create memcache.sh 2020-09-26 22:45:41 +08:00
midoks 52c92183f5 Update install.sh 2020-09-26 22:27:13 +08:00
midoks feda58b8c4 Update install.sh 2020-09-26 20:48:43 +08:00
midoks a41d0b4553 Update install.sh 2020-09-26 20:46:39 +08:00
midoks 68e9fa157d Update install.sh 2020-09-26 20:44:07 +08:00
midoks 81f79582b5 Update zendguardloader.sh 2020-09-26 20:42:21 +08:00
midoks 552aa85eb6 Update install.sh 2020-09-26 20:29:32 +08:00
midoks 5119e522d4 Update zendoptimizer.sh 2020-09-26 20:16:19 +08:00
midoks 46f112fe7f up 2020-09-26 20:10:07 +08:00
midoks 2215c1bd38 Update zendguardloader.sh 2020-09-26 20:09:08 +08:00
midoks aa38037087 Update index.py 2020-09-26 20:01:27 +08:00
midoks b48efb4607 up 2020-09-26 19:59:16 +08:00
midoks 3c22dd6380 up 2020-09-26 19:54:17 +08:00
midoks 9127ed5220 Update index.py 2020-09-26 19:50:40 +08:00
midoks a04c6b46af Update index.py 2020-09-26 19:43:04 +08:00
midoks ed7bc1cdf3 up 2020-09-26 19:39:12 +08:00
midoks 6d191fc162 Update install.sh 2020-09-26 19:33:12 +08:00
midoks b14f22a0cf Update install.sh 2020-09-26 19:29:39 +08:00
midoks bb9fe44a0f up 2020-09-26 19:13:55 +08:00
midoks ee6adfa83c Update install.sh 2020-09-26 19:06:42 +08:00
midoks 8d990b3f96 Update install.sh 2020-09-26 19:04:52 +08:00
midoks 9b0b5d1504 Update install.sh 2020-09-26 19:01:27 +08:00
midoks aac1cc30a5 Update install.sh 2020-09-26 18:58:56 +08:00
midoks e8f1cb4e02 Update install.sh 2020-09-26 18:54:30 +08:00
midoks f973794e4a Update install.sh 2020-09-26 18:50:06 +08:00
midoks 062a8917cb Update install.sh 2020-09-26 18:48:21 +08:00
midoks 3c412c91f7 Update install.sh 2020-09-26 18:45:56 +08:00
midoks b3f338e4e0 Update install.sh 2020-09-26 18:37:50 +08:00
midoks 78f422c64a Update install.sh 2020-09-26 18:37:26 +08:00
midoks 6f76846497 up 2020-09-26 18:32:37 +08:00
midoks 638426b81b Update config_api.py
优化计划任务管理
2020-09-19 20:27:09 +08:00
midoks a982e8a0e2 up 2020-09-19 16:03:09 +08:00
midoks 79a2954486 up 2020-09-19 16:01:46 +08:00
midoks 3e73314cb1 up 2020-09-19 15:36:56 +08:00
midoks 92e94ab4e9 Update solr.js 2020-09-15 13:26:01 +08:00
midoks 1e0ec8e17e Update redis.conf 2020-09-14 01:04:44 +08:00
midoks a1e0e95925 Update index.py 2020-08-04 21:51:10 +08:00
midoks ceb1a7828a Update qbittorrent.tpl 2020-08-04 21:42:05 +08:00
midoks 02beb55896 Update qbittorrent.tpl 2020-08-04 19:24:01 +08:00
midoks f53377cc7d Update qbittorrent.tpl 2020-08-04 18:56:54 +08:00
midoks 02fbb7cdcf Update commit.tpl 2020-07-31 00:22:01 +08:00
midoks 58059111c1 Update qbittorrent_worker.py 2020-07-25 17:35:48 +08:00
midoks f51cc16500 Update qbittorrent_worker.py 2020-07-25 13:38:40 +08:00
midoks 1d6fa13a94 Update qbittorrent_worker.py 2020-07-25 13:25:23 +08:00
midoks 6924adbda3 Update qbittorrent_worker.py 2020-07-25 13:22:50 +08:00
midoks 983dde38d2 Update qbittorrent_worker.py 2020-07-25 12:21:08 +08:00
midoks bda0753b77 Update qb.sql 2020-07-25 11:08:14 +08:00
midoks 93d9dbfd20 Update qb.sql 2020-07-25 11:07:52 +08:00
midoks 0a277b7e52 Update qbittorrent_worker.py 2020-07-25 11:03:36 +08:00
midoks 4825a1ca09 Update qbittorrent_worker.py 2020-07-23 11:20:31 +08:00
midoks 21dd6f39a8 Update qbittorrent_worker.py 2020-07-23 00:17:27 +08:00
midoks 261b85dbda Update install.sh 2020-07-22 23:59:34 +08:00
midoks 4716cff256 Update qbittorrent_worker.py 2020-07-22 23:03:02 +08:00
midoks d86c6ad6ee Update qbittorrent_worker.py 2020-07-22 22:52:48 +08:00
midoks bd7906595a Update qb.conf 2020-07-22 22:16:45 +08:00
midoks f00478cf17 Update qbittorrent_worker.py 2020-07-22 20:59:24 +08:00
midoks 1a24d11137 Update install.sh 2020-07-22 20:10:02 +08:00
midoks b8185e042f Update install.sh 2020-07-22 20:07:50 +08:00
midoks 318cc79b8e Update install.sh 2020-07-22 19:53:02 +08:00
midoks 389abf794f Update install.sh 2020-07-22 19:50:28 +08:00
midoks 1d37ec38ee Update qbittorrent_worker.py 2020-07-22 19:46:34 +08:00
midoks fd2a9223ff Update qbittorrent_worker.py 2020-07-22 19:46:17 +08:00
midoks 84e7da76b5 Update install.sh 2020-07-22 17:49:06 +08:00
midoks 90d30df686 Update qbittorrent_worker.py 2020-07-22 17:32:52 +08:00
midoks 9fa9ed9f6e Update qb.conf 2020-07-22 17:32:09 +08:00
midoks c26867c80b Update index.py 2020-07-22 17:31:35 +08:00
midoks 221a005fc7 Update install.sh 2020-07-22 17:20:07 +08:00
midoks 7fb61a5121 Delete ss1.jpg 2020-07-21 16:08:26 +08:00
midoks 6eadbcd53e up 2020-07-16 16:30:00 +08:00
midoks b43da4eea8 Update yaf.sh 2020-07-15 18:24:03 +08:00
midoks 1590e1061c update 2020-07-15 17:39:07 +08:00
midoks 3ac32665b8 Update pcntl.sh 2020-07-15 17:36:36 +08:00
midoks 97f01aeb74 up 2020-07-15 17:34:57 +08:00
midoks 92e3bd82ef Update phplib.conf 2020-07-15 17:33:05 +08:00
midoks ad2ce68a49 up 2020-07-15 17:28:18 +08:00
midoks 75f212bec7 up 2020-07-15 17:00:53 +08:00
midoks 13f6ee18f9 Update system_api.py 2020-07-15 12:38:32 +08:00
midoks 571d2056fb Update system_api.py 2020-07-15 12:34:48 +08:00
midoks 08ef87c77e Update system_api.py 2020-07-15 12:29:45 +08:00
midoks 5d2e7acc95 Update system_api.py 2020-07-15 12:29:07 +08:00
midoks 58e18e3ebb Update system_api.py 2020-07-15 12:23:57 +08:00
midoks a4731e0053 Update system_api.py 2020-07-15 12:15:15 +08:00
midoks db22749219 Update system_api.py 2020-07-15 12:13:44 +08:00
midoks 942c0023fb Update system_api.py 2020-07-15 12:12:18 +08:00
midoks 0b4fa3ea5c Update system_api.py 2020-07-15 11:59:05 +08:00
midoks e23b15ccd1 Update system_api.py 2020-07-15 11:54:15 +08:00
midoks 0f515829fe up 2020-07-15 11:36:30 +08:00
112 changed files with 5668 additions and 387 deletions
+5 -7
View File
@@ -1,4 +1,4 @@
### mdserver-web 0.8.5
### mdserver-web 0.8.6
简单的Linux面板,感谢BT.CN写出如此好的web管理软件。我一看到,就知道这是我一直想要的页面化管理方式。
复制了后台管理界面,按照自己想要的方式写了一版。
@@ -13,7 +13,7 @@
### 主要插件介绍
* OpenResty - 轻量级,占有内存少,并发能力强。
* PHP[53-74] - PHP是世界上最好的编程语言。
* PHP[52-80] - PHP是世界上最好的编程语言。
* MySQL - MySQL是一种关系数据库管理系统。
* phpMyAdmin - 著名Web端MySQL管理工具。
* Memcached - 一个高性能的分布式内存对象缓存系统。
@@ -23,11 +23,9 @@
* Gogs - 一款极易搭建的自助Git服务。
* Rsyncd - 通用同步服务。
### 版本更新 0.8.5
* 添加PHP80版本-Alpha。
* 优化PHP及扩展安装脚本。
* 自动识别IP地址。
* 增加xhprof插件。
### 版本更新 0.8.6
* mysql主从配置。
* swap插件[虚拟内存]。
### 自动安装
```
+2 -1
View File
@@ -17,7 +17,8 @@ class config_api:
# 本版解决自启动问题
# 文件管理重命名
__version = '0.8.5'
# 优化计划任务管理
__version = '0.8.6'
def __init__(self):
pass
+25 -15
View File
@@ -21,8 +21,14 @@ class crontab_api:
##### ----- start ----- ###
def listApi(self):
_list = mw.M('crontab').where('', ()).field(self.field).limit(
'0,30').order('id desc').select()
p = request.args.get('p', 1)
psize = 10
startPage = (int(p) - 1) * psize
pageInfo = str(startPage) + ',' + str(psize)
_list = mw.M('crontab').where('', ()).field(
self.field).limit(pageInfo).order('id desc').select()
data = []
for i in range(len(_list)):
@@ -68,9 +74,12 @@ class crontab_api:
count = mw.M('crontab').where('', ()).count()
_page = {}
_page['count'] = count
_page['tojs'] = 'remind'
_page['p'] = p
_page['row'] = psize
_page['tojs'] = "getCronData"
_ret['page'] = mw.getPage(_page)
_ret['list'] = mw.getPage(_page)
_ret['p'] = p
return mw.getJson(_ret)
# 设置计划任务状态
@@ -158,7 +167,7 @@ class crontab_api:
logFile = mw.getServerDir() + '/cron/' + echo['echo'] + '.log'
if not os.path.exists(logFile):
return mw.returnJson(False, '当前日志为空!')
log = mw.getNumLines(logFile, 2000)
log = mw.getNumLines(logFile, 500)
return mw.returnJson(True, log)
def addApi(self):
@@ -194,25 +203,26 @@ class crontab_api:
}
# print params
cuonConfig, get, name = self.getCrondCycle(params)
cronConfig, get, name = self.getCrondCycle(params)
cronPath = mw.getServerDir() + '/cron'
cronName = self.getShell(params)
# print cuonConfig, _params, name
# print cronPath, cronName
# print stype
# print cronConfig, _params, name
# print 'vv', cronPath, cronName
# print 'stype', stype
if type(cronName) == dict:
return cronName
cuonConfig += ' ' + cronPath + '/' + cronName + \
cronConfig += ' ' + cronPath + '/' + cronName + \
' >> ' + cronPath + '/' + cronName + '.log 2>&1'
wRes = self.writeShell(cuonConfig)
if type(wRes) != bool:
return wRes
if not mw.isAppleSystem():
wRes = self.writeShell(cronConfig)
if type(wRes) != bool:
return wRes
self.crondReload()
self.crondReload()
addData = mw.M('crontab').add('name,type,where1,where_hour,where_minute,echo,addtime,status,save,backup_to,stype,sname,sbody,urladdress', (iname, field_type, where1, hour, minute, cronName, time.strftime(
'%Y-%m-%d %X', time.localtime()), 1, save, backup_to, stype, sname, sbody, urladdress))
@@ -451,7 +461,7 @@ echo "--------------------------------------------------------------------------
if not os.path.exists(file):
mw.writeFile(file, '')
conf = mw.readFile(file)
conf += config + "\n"
conf += str(config) + "\n"
if mw.writeFile(file, conf):
if not os.path.exists(u_file):
mw.execShell("chmod 600 '" + file +
+1 -1
View File
@@ -882,7 +882,7 @@ def get_string_arr(t):
def getSSHPort():
try:
file = '/etc/ssh/sshd_config'
conf = ReadFile(file)
conf = readFile(file)
rep = "#*Port\s+([0-9]+)\s*\n"
port = re.search(rep, conf).groups(0)[0]
return int(port)
+14 -18
View File
@@ -12,6 +12,7 @@ from flask import request
import db
import mw
import requests
import config_api
@@ -102,10 +103,10 @@ class system_api:
@async
def restartMw(self):
sleep(1)
cmd = mw.getRunDir() + '/scripts/init.d/mw restart'
sleep(0.3)
# cmd = mw.getRunDir() + '/scripts/init.d/mw restart'
# print cmd
mw.execShell(cmd)
mw.execShell('service mw restart')
@async
def restartServer(self):
@@ -604,13 +605,9 @@ class system_api:
old_list = old.split('.')
ret = 'none'
# t = [0] * 3
isHasNew = True
for i in range(3):
if int(new_list[i]) > int(old_list[i]):
pass
else:
isHasNew = False
if int(new_list[0]) == int(old_list[0]) and int(new_list[1]) == int(old_list[1]) and int(new_list[2]) == int(old_list[2]):
isHasNew = False
if isHasNew:
return 'new'
@@ -619,8 +616,9 @@ class system_api:
def getServerInfo(self):
upAddr = 'https://raw.githubusercontent.com/midoks/mdserver-web/master/version/info.json'
try:
version = mw.httpGet(upAddr)
version = json.loads(version)
requests.adapters.DEFAULT_RETRIES = 2
r = requests.get(upAddr, verify=False)
version = json.loads(r.content)
return version[0]
except Exception as e:
print 'getServerInfo', e
@@ -636,11 +634,10 @@ class system_api:
version_now = config_api.config_api().getVersion()
version_new_info = self.getServerInfo()
if not 'version' in version_new_info:
return mw.returnJson(False, '服务器数据有问题!')
return mw.returnJson(False, '服务器数据或网络有问题!')
diff = self.versionDiff(
version_now, version_new_info['version'])
print diff
if diff == 'new':
return mw.returnJson(True, '有新版本!', version_new_info['version'])
elif diff == 'test':
@@ -674,13 +671,12 @@ class system_api:
if not os.path.exists(toPath):
mw.execShell('mkdir -p ' + toPath)
if not os.path.exists(toPath + '/mw.zip'):
mw.execShell('wget -O ' + toPath + '/mw.zip ' + newUrl)
mw.execShell('wget -O ' + toPath + '/mw.zip ' + newUrl)
mw.execShell('unzip -o ' + toPath + '/mw.zip' + ' -d ./')
mw.execShell('unzip -o mdserver-web.zip -d ./')
mw.execShell('rm -f mdserver-web.zip')
return mw.returnJson(True, '安装更新成功!')
mw.execShell('unzip -o mw.zip -d ./')
mw.execShell('rm -f mw.zip')
return mw.returnJson(True, '安装更新成功,需自己重启!')
return mw.returnJson(False, '已经是最新,无需更新!')
except Exception as ex:
@@ -7,7 +7,7 @@ import sys
sys.path.append("/usr/local/lib/python2.7/site-packages")
class mysql:
class mysqlDb:
__DB_PASS = None
__DB_USER = 'root'
__DB_PORT = 3306
+2
View File
@@ -1,5 +1,7 @@
#!/bin/bash
echo `date`
GITADDR="{$GITROOTURL}/{$USERNAME}/{$PROJECT}"
GIT_SDIR="{$CODE_DIR}"
+2 -2
View File
@@ -26,7 +26,7 @@ def getPluginDir():
return mw.getPluginDir() + '/' + getPluginName()
sys.path.append(getPluginDir() + "/class")
import mysql
import mysqlDb
def getServerDir():
@@ -197,7 +197,7 @@ def pMysqlDb():
conf = getDbConfValue()
host = conf['HOST'].split(':')
conn = mysql.mysql()
conn = mysqlDb.mysqlDb()
conn.setHost(host[0])
conn.setUser(conf['USER'])
@@ -7,7 +7,7 @@ import sys
sys.path.append("/usr/local/lib/python2.7/site-packages")
class mysql:
class mysqlDb:
__DB_PASS = None
__DB_USER = 'root'
__DB_PORT = 3306
@@ -48,6 +48,9 @@ class mysql:
self.__DB_ERR = e
return False
def setDbConf(self, conf):
self.__DB_CNF = conf
def setPwd(self, pwd):
self.__DB_PASS = pwd
+31 -7
View File
@@ -1,18 +1,18 @@
[client]
#password = your_password
port = 3306
socket = /tmp/mysql.sock
socket = {$SERVER_APP_PATH}/mysql.sock
[mysqld]
# 5.6
#default-authentication-plugin=sha256_password
port = 3306
socket = /tmp/mysql.sock
socket = {$SERVER_APP_PATH}/mysql.sock
datadir = {$SERVER_APP_PATH}/data
log-error = {$SERVER_APP_PATH}/data/error.log
default_storage_engine = MyISAM
#skip-external-locking
#loose-skip-innodb
key_buffer_size = 8M
max_allowed_packet = 100G
max_allowed_packet = 100M
table_open_cache = 32
sort_buffer_size = 256K
net_buffer_length = 4K
@@ -20,15 +20,21 @@ read_buffer_size = 128K
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 4M
thread_cache_size = 4
lower_case_table_names=2
query_cache_size = 4M
tmp_table_size = 8M
#skip-networking
#skip-name-resolve
max_connections = 500
max_connect_errors = 100
open_files_limit = 65535
#skip-networking
#skip-name-resolve
#skip-external-locking
#loose-skip-innodb
#skip-grant-tables
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
@@ -38,6 +44,24 @@ slow-query-log-file={$SERVER_APP_PATH}/data/mysql-slow.log
long_query_time=3
#log_queries_not_using_indexes=on
relay-log=mdserver
relay-log-index=mdserver
#master
#binlog-do-db
binlog-ignore-db = test
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#slave
log-slave-updates
#replicate-do-db
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = mysql
replicate-ignore-db = test
default_storage_engine = InnoDB
innodb_data_home_dir = {$SERVER_APP_PATH}/data
innodb_data_file_path = ibdata1:10M:autoextend
+91
View File
@@ -0,0 +1,91 @@
[client]
#password = your_password
port = 3306
socket = {$SERVER_APP_PATH}/mysql.sock
default-character-set = UTF8MB4
[mysqld]
port = 3306
socket = {$SERVER_APP_PATH}/mysql.sock
datadir = {$SERVER_APP_PATH}/data
log-error = {$SERVER_APP_PATH}/data/error.log
default_storage_engine = MyISAM
key_buffer_size = 8M
table_open_cache = 32
sort_buffer_size = 256K
net_buffer_length = 4K
read_buffer_size = 128K
read_rnd_buffer_size = 256K
myisam_sort_buffer_size = 4M
thread_cache_size = 4
lower_case_table_names=2
tmp_table_size = 8M
character-set-server = UTF8MB4
max_connections = 500
max_connect_errors = 100
open_files_limit = 2560
max_allowed_packet = 128M
#skip-external-locking
#skip-grant-tables
#loose-skip-innodb
#skip-networking
#skip-name-resolve
log-bin=mysql-bin
binlog_format=mixed
server-id = 1
slow_query_log=1
slow-query-log-file={$SERVER_APP_PATH}/data/mysql-slow.log
long_query_time=3
#log_queries_not_using_indexes=on
relay-log=mdserver
relay-log-index=mdserver
#master
#binlog-do-db
binlog-ignore-db = test
binlog-ignore-db = mysql
binlog-ignore-db = information_schema
binlog-ignore-db = performance_schema
#slave
log-slave-updates
#replicate-do-db
replicate-ignore-db = information_schema
replicate-ignore-db = performance_schema
replicate-ignore-db = mysql
replicate-ignore-db = test
default_storage_engine = InnoDB
innodb_data_home_dir = {$SERVER_APP_PATH}/data
innodb_data_file_path = ibdata1:10M:autoextend
innodb_log_group_home_dir = {$SERVER_APP_PATH}/data
innodb_buffer_pool_size = 16M
innodb_log_file_size = 5M
innodb_log_buffer_size = 8M
innodb_flush_log_at_trx_commit = 1
innodb_lock_wait_timeout = 120
innodb_max_dirty_pages_pct = 90
innodb_read_io_threads = 1
innodb_write_io_threads = 1
innodb_file_per_table=1
binlog_expire_logs_seconds=2592000
[mysqldump]
quick
[mysql]
no-auto-rehash
[myisamchk]
key_buffer_size = 20M
sort_buffer_size = 20M
read_buffer = 2M
write_buffer = 2M
[mysqlhotcopy]
interactive-timeout
+11
View File
@@ -15,3 +15,14 @@ CREATE TABLE IF NOT EXISTS `databases` (
`ps` TEXT,
`addtime` TEXT
);
CREATE TABLE IF NOT EXISTS `master_replication_user` (
`id` INTEGER PRIMARY KEY AUTOINCREMENT,
`username` TEXT,
`password` TEXT,
`accept` TEXT,
`ps` TEXT,
`addtime` TEXT
);
+28 -23
View File
@@ -1,3 +1,28 @@
<div class="bt-form">
<div class='plugin_version'></div>
<div class="bt-w-main">
<div class="bt-w-menu">
<script type="text/javascript">console.log($('.plugin_version').attr('version'));</script>
<p class="bgw" onclick="pluginService('mysql', $('.plugin_version').attr('version'));">服务</p>
<p onclick="pluginInitD('mysql', $('.plugin_version').attr('version'));">自启动</p>
<p onclick="pluginConfig('mysql', $('.plugin_version').attr('version'));">配置文件</p>
<p onclick="myDbPos();">存储位置</p>
<p onclick="myPort();">端口</p>
<p onclick="runInfo();">当前状态</p>
<p onclick="myPerfOpt();">性能优化</p>
<p onclick="myLogs();">日志</p>
<p onclick="pluginLogs('mysql',$('.plugin_version').attr('version'),'show_log');">慢日志</p>
<p onclick="dbList()">管理列表</p>
<p onclick="masterOrSlaveConf($('.plugin_version').attr('version'))">主从配置</p>
</div>
<div class="bt-w-con pd15">
<div class="soft-man-con"></div>
</div>
</div>
</div>
<style type="text/css">
.db_list{
padding: 0px 0 10px 0;
@@ -25,29 +50,9 @@
margin-right: 0;
}
</style>
<div class="bt-form">
<div class="bt-w-main">
<div class="bt-w-menu">
<p class="bgw" onclick="pluginService('mysql');">服务</p>
<p onclick="pluginInitD('mysql');">自启动</p>
<p onclick="pluginConfig('mysql');">配置文件</p>
<p onclick="myDbPos();">存储位置</p>
<p onclick="myPort();">端口</p>
<p onclick="runInfo();">当前状态</p>
<p onclick="myPerfOpt();">性能优化</p>
<p onclick="myLogs();">日志</p>
<p onclick="pluginLogs('mysql','','show_log');">慢日志</p>
<p onclick="dbList()">管理列表</p>
</div>
<div class="bt-w-con pd15">
<div class="soft-man-con"></div>
</div>
</div>
</div>
<script type="text/javascript">
resetPluginWinWidth(800);
pluginService('mysql');
$.getScript( "/plugins/file?name=mysql&f=js/mysql.js");
$.getScript( "/plugins/file?name=mysql&f=js/mysql.js", function(){
pluginService('mysql',$('.plugin_version').attr('version'));
});
</script>
+883 -64
View File
File diff suppressed because it is too large Load Diff
+5 -2
View File
@@ -4,9 +4,12 @@
"name":"mysql",
"type":"运行环境",
"ps":"一种关系数据库管理系统!",
"coexist": false,
"checks": "server/mysql/VERSION/bin/mysql",
"path": "server/mysql/VERSION",
"todo_versions":["5.6","5.7","8.0"],
"versions":["5.5", "5.6", "5.7"],
"updates":["5.5.62","5.6.46", "5.7.28"],
"versions":["5.5", "5.6", "5.7","8.0"],
"updates":["5.5.62","5.6.50", "5.7.32","8.0.22"],
"shell":"install.sh",
"checks":"server/mysql",
"path":"server/mysql",
+376
View File
@@ -0,0 +1,376 @@
#!/bin/sh
# Copyright Abandoned 1996 TCX DataKonsult AB & Monty Program KB & Detron HB
# This file is public domain and comes with NO WARRANTY of any kind
# MySQL daemon start/stop script.
# Usually this is put in /etc/init.d (at least on machines SYSV R4 based
# systems) and linked to /etc/rc3.d/S99mysql and /etc/rc0.d/K01mysql.
# When this is done the mysql server will be started when the machine is
# started and shut down when the systems goes down.
# Comments to support chkconfig on RedHat Linux
# chkconfig: 2345 64 36
# description: A very fast and reliable SQL database engine.
# Comments to support LSB init script conventions
### BEGIN INIT INFO
# Provides: mysql
# Required-Start: $local_fs $network $remote_fs
# Should-Start: ypbind nscd ldap ntpd xntpd
# Required-Stop: $local_fs $network $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: start and stop MySQL
# Description: MySQL is a very fast and reliable SQL database engine.
### END INIT INFO
# If you install MySQL on some other places than /Users/midoks/Desktop/fwww/server/mysql, then you
# have to do one of the following things for this script to work:
#
# - Run this script from within the MySQL installation directory
# - Create a /etc/my.cnf file with the following information:
# [mysqld]
# basedir=<path-to-mysql-installation-directory>
# - Add the above to any other configuration file (for example ~/.my.ini)
# and copy my_print_defaults to /usr/bin
# - Add the path to the mysql-installation-directory to the basedir variable
# below.
#
# If you want to affect other MySQL variables, you should make your changes
# in the /etc/my.cnf, ~/.my.cnf or other MySQL configuration files.
# If you change base dir, you must also change datadir. These may get
# overwritten by settings in the MySQL configuration files.
basedir=
datadir=
# Default value, in seconds, afterwhich the script should timeout waiting
# for server start.
# Value here is overriden by value in my.cnf.
# 0 means don't wait at all
# Negative numbers mean to wait indefinitely
service_startup_timeout=900
# Lock directory for RedHat / SuSE.
lockdir='/var/lock/subsys'
lock_file_path="$lockdir/mysql"
# The following variables are only set for letting mysql.server find things.
# Set some defaults
mysqld_pid_file_path=
if test -z "$basedir"
then
basedir=/Users/midoks/Desktop/fwww/server/mysql
bindir=/Users/midoks/Desktop/fwww/server/mysql/bin
if test -z "$datadir"
then
datadir=/Users/midoks/Desktop/fwww/server/mysql/data
fi
sbindir=/Users/midoks/Desktop/fwww/server/mysql/bin
libexecdir=/Users/midoks/Desktop/fwww/server/mysql/bin
else
bindir="$basedir/bin"
if test -z "$datadir"
then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
fi
# datadir_set is used to determine if datadir was set (and so should be
# *not* set inside of the --basedir= handler.)
datadir_set=
#
# Use LSB init script functions for printing messages, if possible
#
lsb_functions="/lib/lsb/init-functions"
if test -f $lsb_functions ; then
. $lsb_functions
else
log_success_msg()
{
echo " SUCCESS! $@"
}
log_failure_msg()
{
echo " ERROR! $@"
}
fi
PATH="/sbin:/usr/sbin:/bin:/usr/bin:$basedir/bin"
export PATH
mode=$1 # start or stop
[ $# -ge 1 ] && shift
other_args="$*" # uncommon, but needed when called from an RPM upgrade action
# Expected: "--skip-networking --skip-grant-tables"
# They are not checked here, intentionally, as it is the resposibility
# of the "spec" file author to give correct arguments only.
case `echo "testing\c"`,`echo -n testing` in
*c*,-n*) echo_n= echo_c= ;;
*c*,*) echo_n=-n echo_c= ;;
*) echo_n= echo_c='\c' ;;
esac
parse_server_arguments() {
for arg do
case "$arg" in
--basedir=*) basedir=`echo "$arg" | sed -e 's/^[^=]*=//'`
bindir="$basedir/bin"
if test -z "$datadir_set"; then
datadir="$basedir/data"
fi
sbindir="$basedir/sbin"
libexecdir="$basedir/libexec"
;;
--datadir=*) datadir=`echo "$arg" | sed -e 's/^[^=]*=//'`
datadir_set=1
;;
--pid-file=*) mysqld_pid_file_path=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
--service-startup-timeout=*) service_startup_timeout=`echo "$arg" | sed -e 's/^[^=]*=//'` ;;
esac
done
}
wait_for_pid () {
verb="$1" # created | removed
pid="$2" # process ID of the program operating on the pid-file
pid_file_path="$3" # path to the PID file.
i=0
avoid_race_condition="by checking again"
while test $i -ne $service_startup_timeout ; do
case "$verb" in
'created')
# wait for a PID-file to pop into existence.
test -s "$pid_file_path" && i='' && break
;;
'removed')
# wait for this PID-file to disappear
test ! -s "$pid_file_path" && i='' && break
;;
*)
echo "wait_for_pid () usage: wait_for_pid created|removed pid pid_file_path"
exit 1
;;
esac
# if server isn't running, then pid-file will never be updated
if test -n "$pid"; then
if kill -0 "$pid" 2>/dev/null; then
: # the server still runs
else
# The server may have exited between the last pid-file check and now.
if test -n "$avoid_race_condition"; then
avoid_race_condition=""
continue # Check again.
fi
# there's nothing that will affect the file.
log_failure_msg "The server quit without updating PID file ($pid_file_path)."
return 1 # not waiting any more.
fi
fi
echo $echo_n ".$echo_c"
i=`expr $i + 1`
sleep 1
done
if test -z "$i" ; then
log_success_msg
return 0
else
log_failure_msg
return 1
fi
}
# Get arguments from the my.cnf file,
# the only group, which is read from now on is [mysqld]
if test -x "$bindir/my_print_defaults"; then
print_defaults="$bindir/my_print_defaults"
else
# Try to find basedir in /etc/my.cnf
conf=/etc/my.cnf
print_defaults=
if test -r $conf
then
subpat='^[^=]*basedir[^=]*=\(.*\)$'
dirs=`sed -e "/$subpat/!d" -e 's//\1/' $conf`
for d in $dirs
do
d=`echo $d | sed -e 's/[ ]//g'`
if test -x "$d/bin/my_print_defaults"
then
print_defaults="$d/bin/my_print_defaults"
break
fi
done
fi
# Hope it's in the PATH ... but I doubt it
test -z "$print_defaults" && print_defaults="my_print_defaults"
fi
#
# Read defaults file from 'basedir'. If there is no defaults file there
# check if it's in the old (depricated) place (datadir) and read it from there
#
extra_args=""
if test -r "$basedir/my.cnf"
then
extra_args="-e $basedir/my.cnf"
fi
parse_server_arguments `$print_defaults $extra_args mysqld server mysql_server mysql.server`
#
# Set pid file if not given
#
if test -z "$mysqld_pid_file_path"
then
mysqld_pid_file_path=$datadir/`hostname`.pid
else
case "$mysqld_pid_file_path" in
/* ) ;;
* ) mysqld_pid_file_path="$datadir/$mysqld_pid_file_path" ;;
esac
fi
case "$mode" in
'start')
# Start daemon
# Safeguard (relative paths, core dumps..)
cd $basedir
echo $echo_n "Starting MySQL"
if test -x $bindir/mysqld_safe
then
# Give extra arguments to mysqld with the my.cnf file. This script
# may be overwritten at next upgrade.
$bindir/mysqld_safe --datadir="$datadir" --pid-file="$mysqld_pid_file_path" $other_args >/dev/null &
wait_for_pid created "$!" "$mysqld_pid_file_path"; return_value=$?
# Make lock for RedHat / SuSE
if test -w "$lockdir"
then
touch "$lock_file_path"
fi
exit $return_value
else
log_failure_msg "Couldn't find MySQL server ($bindir/mysqld_safe)"
fi
;;
'stop')
# Stop daemon. We use a signal here to avoid having to know the
# root password.
if test -s "$mysqld_pid_file_path"
then
# signal mysqld_safe that it needs to stop
touch "$mysqld_pid_file_path.shutdown"
mysqld_pid=`cat "$mysqld_pid_file_path"`
if (kill -0 $mysqld_pid 2>/dev/null)
then
echo $echo_n "Shutting down MySQL"
kill $mysqld_pid
# mysqld should remove the pid file when it exits, so wait for it.
wait_for_pid removed "$mysqld_pid" "$mysqld_pid_file_path"; return_value=$?
else
log_failure_msg "MySQL server process #$mysqld_pid is not running!"
rm "$mysqld_pid_file_path"
fi
# Delete lock for RedHat / SuSE
if test -f "$lock_file_path"
then
rm -f "$lock_file_path"
fi
exit $return_value
else
log_failure_msg "MySQL server PID file could not be found!"
fi
;;
'restart')
# Stop the service and regardless of whether it was
# running or not, start it again.
if $0 stop $other_args; then
$0 start $other_args
else
log_failure_msg "Failed to stop running server, so refusing to try to start."
exit 1
fi
;;
'reload'|'force-reload')
if test -s "$mysqld_pid_file_path" ; then
read mysqld_pid < "$mysqld_pid_file_path"
kill -HUP $mysqld_pid && log_success_msg "Reloading service MySQL"
touch "$mysqld_pid_file_path"
else
log_failure_msg "MySQL PID file could not be found!"
exit 1
fi
;;
'status')
# First, check to see if pid file exists
if test -s "$mysqld_pid_file_path" ; then
read mysqld_pid < "$mysqld_pid_file_path"
if kill -0 $mysqld_pid 2>/dev/null ; then
log_success_msg "MySQL running ($mysqld_pid)"
exit 0
else
log_failure_msg "MySQL is not running, but PID file exists"
exit 1
fi
else
# Try to find appropriate mysqld process
mysqld_pid=`pgrep -d' ' -f $libexecdir/mysqld`
# test if multiple pids exist
pid_count=`echo $mysqld_pid | wc -w`
if test $pid_count -gt 1 ; then
log_failure_msg "Multiple MySQL running but PID file could not be found ($mysqld_pid)"
exit 5
elif test -z $mysqld_pid ; then
if test -f "$lock_file_path" ; then
log_failure_msg "MySQL is not running, but lock file ($lock_file_path) exists"
exit 2
fi
log_failure_msg "MySQL is not running"
exit 3
else
log_failure_msg "MySQL is running but PID file could not be found"
exit 4
fi
fi
;;
*)
# usage
basename=`basename "$0"`
echo "Usage: $basename {start|stop|restart|reload|force-reload|status} [ MySQL server options ]"
exit 1
;;
esac
exit 0
+624 -3
View File
@@ -36,6 +36,26 @@ function myPost(method,args,callback, title){
},'json');
}
function myPostN(method,args,callback, title){
var _args = null;
if (typeof(args) == 'string'){
_args = JSON.stringify(str2Obj(args));
} else {
_args = JSON.stringify(args);
}
var _title = '正在获取...';
if (typeof(title) != 'undefined'){
_title = title;
}
$.post('/plugins/run', {name:'mysql', func:method, args:_args}, function(data) {
if(typeof(callback) == 'function'){
callback(data);
}
},'json');
}
function myAsyncPost(method,args){
var _args = null;
if (typeof(args) == 'string'){
@@ -822,6 +842,86 @@ function openPhpmyadmin(name,username,password){
},200);
}
function delBackup(filename,name){
myPost('delete_db_backup',{filename:filename},function(){
layer.msg('执行成功!');
setTimeout(function(){
$('.layui-layer-close2').click();
setBackup(name);
},2000);
});
}
function downloadBackup(file){
window.open('/files/download?filename='+encodeURIComponent(file));
}
function importBackup(file,name){
myPost('import_db_backup',{file:file,name:name}, function(data){
// console.log(data);
layer.msg('执行成功!');
});
}
function setBackup(db_name,obj){
myPost('get_db_backup_list', {name:db_name}, function(data){
var rdata = $.parseJSON(data.data);
var tbody = '';
for (var i = 0; i < rdata.data.length; i++) {
tbody += '<tr>\
<td><span> ' + rdata.data[i]['name'] + '</span></td>\
<td><span> ' + rdata.data[i]['size'] + '</span></td>\
<td><span> ' + rdata.data[i]['time'] + '</span></td>\
<td style="text-align: right;">\
<a class="btlink" onclick="importBackup(\'' + rdata.data[i]['name'] + '\',\'' +db_name+ '\')">导入</a> | \
<a class="btlink" onclick="downloadBackup(\'' + rdata.data[i]['file'] + '\')">下载</a> | \
<a class="btlink" onclick="delBackup(\'' + rdata.data[i]['name'] + '\',\'' +db_name+ '\')">删除</a>\
</td>\
</tr> ';
}
var s = layer.open({
type: 1,
title: "数据库备份详情",
area: ['600px', '280px'],
closeBtn: 2,
shadeClose: false,
content: '<div class="pd15">\
<div class="db_list">\
<button id="btn_backup" class="btn btn-success btn-sm" type="button">备份</button>\
</div >\
<div class="divtable">\
<div id="database_fix" style="height:150px;overflow:auto;border:#ddd 1px solid">\
<table class="table table-hover "style="border:none">\
<thead>\
<tr>\
<th>文件名称</th>\
<th>文件大小</th>\
<th>备份时间</th>\
<th style="text-align: right;">操作</th>\
</tr>\
</thead>\
<tbody class="gztr">' + tbody + '</tbody>\
</table>\
</div>\
</div>\
</div>'
});
$('#btn_backup').click(function(){
myPost('set_db_backup',{name:db_name}, function(data){
layer.msg('执行成功!');
setTimeout(function(){
layer.close(s);
setBackup(db_name,obj);
},2000);
});
});
});
}
function dbList(page, search){
var _data = {};
@@ -847,10 +947,14 @@ function dbList(page, search){
'<span onclick="showHidePass(this)" class="glyphicon glyphicon-eye-open cursor pw-ico" style="margin-left:10px"></span>'+
'<span class="ico-copy cursor btcopy" style="margin-left:10px" title="复制密码" onclick="copyPass(\''+rdata.data[i]['password']+'\')"></span>'+
'</td>';
// list += '<td>备份</td>';
list += '<td><span class="c9 input-edit" onclick="setDbPs(\''+rdata.data[i]['id']+'\',\''+rdata.data[i]['name']+'\',this)" style="display: inline-block;">'+rdata.data[i]['ps']+'</span></td>';
list += '<td style="text-align:right">' +
'<a href="javascript:;" class="btlink" onclick="openPhpmyadmin(\''+rdata.data[i]['name']+'\',\''+rdata.data[i]['username']+'\',\''+rdata.data[i]['password']+'\')" title="数据库管理">管理</a> | ' +
list += '<td style="text-align:right">';
list += '<a href="javascript:;" class="btlink" class="btlink" onclick="setBackup(\''+rdata.data[i]['name']+'\',this)" title="数据库备份">'+(rdata.data[i]['is_backup']?'备份':'未备份') +'</a> | ';
list += '<a href="javascript:;" class="btlink" onclick="openPhpmyadmin(\''+rdata.data[i]['name']+'\',\''+rdata.data[i]['username']+'\',\''+rdata.data[i]['password']+'\')" title="数据库管理">管理</a> | ' +
'<a href="javascript:;" class="btlink" onclick="repTools(\''+rdata.data[i]['name']+'\')" title="MySQL优化修复工具">工具</a> | ' +
'<a href="javascript:;" class="btlink" onclick="setDbAccess(\''+rdata.data[i]['username']+'\')" title="设置数据库权限">权限</a> | ' +
'<a href="javascript:;" class="btlink" onclick="setDbPass('+rdata.data[i]['id']+',\''+ rdata.data[i]['username'] +'\',\'' + rdata.data[i]['password'] + '\')">改密</a> | ' +
@@ -864,6 +968,7 @@ function dbList(page, search){
<button onclick="addDatabase()" title="添加数据库" class="btn btn-success btn-sm" type="button" style="margin-right: 5px;">添加数据库</button>\
<button onclick="setRootPwd(0,\''+rdata.info['root_pwd']+'\')" title="设置MySQL管理员密码" class="btn btn-default btn-sm" type="button" style="margin-right: 5px;">root密码</button>\
<button onclick="openPhpmyadmin(\'\',\'root\',\''+rdata.info['root_pwd']+'\')" title="打开phpMyadmin" class="btn btn-default btn-sm" type="button" style="margin-right: 5px;">phpMyAdmin</button>\
<button onclick="setDbAccess(\'root\')" title="ROOT权限" class="btn btn-default btn-sm" type="button" style="margin-right: 5px;">ROOT权限</button>\
<span style="float:right"> \
<button batch="true" style="float: right;display: none;margin-left:10px;" onclick="delDbBatch();" title="删除选中项" class="btn btn-default btn-sm">删除选中</button>\
</span>\
@@ -1099,3 +1204,519 @@ function repTools(db_name, res){
tableFixed('database_fix');
});
}
function setDbMaster(name){
myPost('set_db_master', {name:name}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){
masterOrSlaveConf();
}, 2000);
});
}
function setDbSlave(name){
myPost('set_db_slave', {name:name}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){
masterOrSlaveConf();
}, 2000);
});
}
function addMasterRepSlaveUser(){
var index = layer.open({
type: 1,
skin: 'demo-class',
area: '500px',
title: '添加同步账户',
closeBtn: 1,
shift: 5,
shadeClose: true,
content: "<form class='bt-form pd20 pb70' id='add_master'>\
<div class='line'><span class='tname'>用户名</span><div class='info-r'><input name='username' class='bt-input-text mr5' placeholder='用户名' type='text' style='width:330px;' value='"+(randomStrPwd(6))+"'></div></div>\
<div class='line'>\
<span class='tname'>密码</span>\
<div class='info-r'><input class='bt-input-text mr5' type='text' name='password' id='MyPassword' style='width:330px' value='"+(randomStrPwd(16))+"' /><span title='随机密码' class='glyphicon glyphicon-repeat cursor' onclick='repeatPwd(16)'></span></div>\
</div>\
<input type='hidden' name='ps' value='' />\
<div class='bt-form-submit-btn'>\
<button id='my_mod_close' type='button' class='btn btn-danger btn-sm btn-title'>关闭</button>\
<button type='button' class='btn btn-success btn-sm btn-title' id='submit_add_master' >提交</button>\
</div>\
</form>",
});
// <div class='line'>\
// <span class='tname'>访问权限</span>\
// <div class='info-r '>\
// <select class='bt-input-text mr5' name='dataAccess' style='width:100px'>\
// <option value='127.0.0.1'>本地服务器</option>\
// <option value=\"%\">所有人</option>\
// <option value='ip'>指定IP</option>\
// </select>\
// </div>\
// </div>\
$("input[name='name']").keyup(function(){
var v = $(this).val();
$("input[name='db_user']").val(v);
$("input[name='ps']").val(v);
});
$('#my_mod_close').click(function(){
$('.layui-layer-close1').click();
});
$('select[name="dataAccess"]').change(function(){
var v = $(this).val();
if (v == 'ip'){
$(this).after("<input id='dataAccess_subid' class='bt-input-text mr5' type='text' name='address' placeholder='多个IP使用逗号(,)分隔' style='width: 230px; display: inline-block;'>");
} else {
$('#dataAccess_subid').remove();
}
});
$('#submit_add_master').click(function(){
var data = $("#add_master").serialize();
data = decodeURIComponent(data);
var dataObj = str2Obj(data);
if(!dataObj['address']){
dataObj['address'] = dataObj['dataAccess'];
}
// console.log(dataObj);
myPost('add_master_rep_slave_user', dataObj, function(data){
var rdata = $.parseJSON(data.data);
showMsg(rdata.msg,function(){
if (rdata.status){
getMasterRepSlaveList();
}
$('.layui-layer-close1').click();
},{icon: rdata.status ? 1 : 2},600);
});
});
}
function updateMasterRepSlaveUser(username){
var index = layer.open({
type: 1,
skin: 'demo-class',
area: '500px',
title: '更新账户',
closeBtn: 1,
shift: 5,
shadeClose: true,
content: "<form class='bt-form pd20 pb70' id='update_master'>\
<div class='line'><span class='tname'>用户名</span><div class='info-r'><input name='username' readonly='readonly' class='bt-input-text mr5' placeholder='用户名' type='text' style='width:330px;' value='"+username+"'></div></div>\
<div class='line'>\
<span class='tname'>密码</span>\
<div class='info-r'><input class='bt-input-text mr5' type='text' name='password' id='MyPassword' style='width:330px' value='"+(randomStrPwd(16))+"' /><span title='随机密码' class='glyphicon glyphicon-repeat cursor' onclick='repeatPwd(16)'></span></div>\
</div>\
<input type='hidden' name='ps' value='' />\
<div class='bt-form-submit-btn'>\
<button type='button' class='btn btn-success btn-sm btn-title' id='submit_update_master' >提交</button>\
</div>\
</form>",
});
$('#submit_update_master').click(function(){
var data = $("#update_master").serialize();
data = decodeURIComponent(data);
var dataObj = str2Obj(data);
// console.log(dataObj);
myPost('update_master_rep_slave_user', data, function(data){
var rdata = $.parseJSON(data.data);
showMsg(rdata.msg,function(){
if (rdata.status){
getMasterRepSlaveList();
}
$('.layui-layer-close1').click();
},{icon: rdata.status ? 1 : 2},600);
});
});
}
function getMasterRepSlaveUserCmd(username, db=''){
myPost('get_master_rep_slave_user_cmd', {username:username,db:db}, function(data){
var rdata = $.parseJSON(data.data);
if (!rdata['status']){
layer.msg(rdata['msg']);
return;
}
var loadOpen = layer.open({
type: 1,
title: '同步命令',
area: '500px',
content:"<form class='bt-form pd20 pb70' id='add_master'>\
<div class='line'>"+rdata.data+"</div>\
<div class='bt-form-submit-btn'>\
<button type='button' class='btn btn-success btn-sm btn-title class-copy-cmd'>复制</button>\
</div>\
</form>",
});
copyPass(rdata.data);
$('.class-copy-cmd').click(function(){
copyPass(rdata.data);
});
});
}
function delMasterRepSlaveUser(username){
myPost('del_master_rep_slave_user', {username:username}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg);
$('.layui-layer-close1').click();
setTimeout(function(){
getMasterRepSlaveList();
},1000);
});
}
function getMasterRepSlaveList(){
var _data = {};
if (typeof(page) =='undefined'){
var page = 1;
}
_data['page'] = page;
_data['page_size'] = 10;
myPost('get_master_rep_slave_list', _data, function(data){
// console.log(data);
var rdata = [];
try {
rdata = $.parseJSON(data.data);
} catch(e){
console.log(e);
}
var list = '';
// console.log(rdata['data']);
var user_list = rdata['data'];
for (i in user_list) {
// console.log(i);
var name = user_list[i]['username'];
list += '<tr><td>'+name+'</td>\
<td>'+user_list[i]['password']+'</td>\
<td>\
<a class="btlink" onclick="updateMasterRepSlaveUser(\''+name+'\');">修改</a> | \
<a class="btlink" onclick="delMasterRepSlaveUser(\''+name+'\');">删除</a> | \
<a class="btlink" onclick="getMasterRepSlaveUserCmd(\''+name+'\');">从库同步命令</a>\
</td>\
</tr>';
}
var page = '<div class="dataTables_paginate_4 dataTables_paginate paging_bootstrap page" style="margin-top:0px;"></div>';
page += '<div class="table_toolbar"><span class="sync btn btn-default btn-sm" onclick="addMasterRepSlaveUser()" title="">添加同步账户</span></div>';
var loadOpen = layer.open({
type: 1,
title: '同步账户列表',
area: '500px',
content:"<div class='bt-form pd20 c6'>\
<div class='divtable mtb10'>\
<div><table class='table table-hover'>\
<thead><tr><th>用户民</th><th>密码</th><th>操作</th></tr></thead>\
<tbody>" + list + "</tbody>\
</table></div>\
"+page +"\
</div>\
</div>"
});
$('.dataTables_paginate_4').html(rdata['page']);
});
}
function deleteSlave(){
myPost('delete_slave', {}, function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata['msg']);
setTimeout(function(){
masterOrSlaveConf();
}, 3000);
});
}
function getFullSyncStatus(db){
var btn = '<div class="table_toolbar"><span class="sync btn btn-default btn-sm" id="begin_full_sync" title="">开始</span></div>';
var loadOpen = layer.open({
type: 1,
title: '全量同步['+db+']',
area: '500px',
content:"<div class='bt-form pd20 c6'>\
<div class='divtable mtb10'>\
<span id='full_msg'></span>\
<div class='progress'>\
<div class='progress-bar' role='progressbar' aria-valuenow='0' aria-valuemin='0' aria-valuemax='100' style='min-width: 2em;'>0%</div>\
</div>\
</div>\
"+btn+"\
</div>"
});
var timeId = setInterval(function(){
fullSync(db,0);
}, 1000);
function fullSync(db,begin){
myPostN('full_sync', {db:db,begin:begin}, function(data){
var rdata = $.parseJSON(data.data);
$('#full_msg').text(rdata['msg']);
$('.progress-bar').css('width',rdata['progress']+'%');
$('.progress-bar').text(rdata['progress']+'%');
if (rdata['code']==6 ||rdata['code']<0){
layer.msg(rdata['msg']);
clearInterval(timeId);
}
});
}
fullSync(db,0);
$('#begin_full_sync').click(function(){
fullSync(db,1);
timeId= setTimeout(function(){
fullSync(db,0);
}, 1000);
});
$('.layui-layer-close1').click(function(){
clearInterval(timeId);
});
}
function handlerRun(){
cmd = 'cd /www/server/mdserver-web && python /www/server/mdserver-web/plugins/mysql/index.py do_full_sync {"db":"all"}';
var loadOpen = layer.open({
type: 1,
title: '手动执行',
area: '500px',
content:"<form class='bt-form pd20 pb70' id='add_master'>\
<div class='line'>"+cmd+"</div>\
<div class='bt-form-submit-btn'>\
<button type='button' class='btn btn-success btn-sm btn-title class-copy-cmd'>复制</button>\
</div>\
</form>",
});
copyPass(cmd);
$('.class-copy-cmd').click(function(){
copyPass(cmd);
});
}
function masterOrSlaveConf(version=''){
function getMasterDbList(){
var _data = {};
if (typeof(page) =='undefined'){
var page = 1;
}
_data['page'] = page;
_data['page_size'] = 10;
myPost('get_masterdb_list', _data, function(data){
var rdata = $.parseJSON(data.data);
var list = '';
for(i in rdata.data){
list += '<tr>';
list += '<td>' + rdata.data[i]['name'] +'</td>';
list += '<td>' + (rdata.data[i]['master']?'是':'否') +'</td>';
list += '<td style="text-align:right">' +
'<a href="javascript:;" class="btlink" onclick="setDbMaster(\''+rdata.data[i]['name']+'\')" title="加入或退出">'+(rdata.data[i]['master']?'退出':'加入')+'</a> | ' +
'<a href="javascript:;" class="btlink" onclick="getMasterRepSlaveUserCmd(\'\',\''+rdata.data[i]['name']+'\')" title="同步命令">同步命令</a>' +
'</td>';
list += '</tr>';
}
var con = '<div class="divtable mtb10">\
<div class="tablescroll">\
<table id="DataBody" class="table table-hover" width="100%" cellspacing="0" cellpadding="0" border="0" style="border: 0 none;">\
<thead><tr>\
<th>数据库名</th>\
<th>同步</th>\
<th style="text-align:right;">操作</th></tr></thead>\
<tbody>\
'+ list +'\
</tbody></table>\
</div>\
<div id="databasePage" class="dataTables_paginate paging_bootstrap page"></div>\
<div class="table_toolbar">\
<span class="sync btn btn-default btn-sm" onclick="getMasterRepSlaveList()" title="">同步账户列表</span>\
</div>\
</div>';
$(".table_master_list").html(con);
$('#databasePage').html(rdata.page);
});
}
function getAsyncMasterDbList(){
var _data = {};
if (typeof(page) =='undefined'){
var page = 1;
}
_data['page'] = page;
_data['page_size'] = 10;
myPost('get_slave_list', _data, function(data){
var rdata = $.parseJSON(data.data);
var list = '';
for(i in rdata.data){
list += '<tr>';
list += '<td>' + rdata.data[i]['Master_Host'] +'</td>';
list += '<td>' + rdata.data[i]['Master_Port'] +'</td>';
list += '<td>' + rdata.data[i]['Master_User'] +'</td>';
list += '<td>' + rdata.data[i]['Master_Log_File'] +'</td>';
list += '<td>' + rdata.data[i]['Slave_IO_Running'] +'</td>';
list += '<td>' + rdata.data[i]['Slave_SQL_Running'] +'</td>';
list += '<td style="text-align:right">' +
'<a href="javascript:;" class="btlink" onclick="deleteSlave()" title="删除">删除</a>' +
'</td>';
list += '</tr>';
}
var con = '<div class="divtable mtb10">\
<div class="tablescroll">\
<table id="DataBody" class="table table-hover" width="100%" cellspacing="0" cellpadding="0" border="0" style="border: 0 none;">\
<thead><tr>\
<th>主[服务]</th>\
<th>端口</th>\
<th>用户</th>\
<th>日志</th>\
<th>IO</th>\
<th>SQL</th>\
<th style="text-align:right;">操作</th></tr></thead>\
<tbody>\
'+ list +'\
</tbody></table>\
</div>\
</div>';
// <div id="databasePage_slave" class="dataTables_paginate paging_bootstrap page"></div>\
// <div class="table_toolbar">\
// <span class="sync btn btn-default btn-sm" onclick="getMasterRepSlaveList()" title="">添加</span>\
// </div>
$(".table_slave_status_list").html(con);
});
}
function getAsyncDataList(){
var _data = {};
if (typeof(page) =='undefined'){
var page = 1;
}
_data['page'] = page;
_data['page_size'] = 10;
myPost('get_masterdb_list', _data, function(data){
var rdata = $.parseJSON(data.data);
var list = '';
for(i in rdata.data){
list += '<tr>';
list += '<td>' + rdata.data[i]['name'] +'</td>';
list += '<td style="text-align:right">' +
'<a href="javascript:;" class="btlink" onclick="setDbSlave(\''+rdata.data[i]['name']+'\')" title="加入|退出">'+(rdata.data[i]['slave']?'退出':'加入')+'</a> | ' +
'<a href="javascript:;" class="btlink" onclick="getFullSyncStatus(\''+rdata.data[i]['name']+'\')" title="修复">修复</a>' +
'</td>';
list += '</tr>';
}
var con = '<div class="divtable mtb10">\
<div class="tablescroll">\
<table id="DataBody" class="table table-hover" width="100%" cellspacing="0" cellpadding="0" border="0" style="border: 0 none;">\
<thead><tr>\
<th>本地库名</th>\
<th style="text-align:right;">操作</th></tr></thead>\
<tbody>\
'+ list +'\
</tbody></table>\
</div>\
<div id="databasePage" class="dataTables_paginate paging_bootstrap page"></div>\
<div class="table_toolbar">\
<span class="sync btn btn-default btn-sm" onclick="handlerRun()" title="免登录设置后,需要手动执行一下!">手动命令</span>\
<span class="sync btn btn-default btn-sm" onclick="getFullSyncStatus(\'ALL\')" title="全量同步">全量同步</span>\
</div>\
</div>';
$(".table_slave_list").html(con);
$('#databasePage').html(rdata.page);
});
}
function getMasterStatus(){
myPost('get_master_status', '', function(data){
var rdata = $.parseJSON(data.data);
var limitCon = '<p class="conf_p">\
<span class="f14 c6 mr20">Master[主]配置</span><span class="f14 c6 mr20"></span>\
<button class="btn '+(!rdata.status ? 'btn-danger' : 'btn-success')+' btn-xs btn-master va0">'+(!rdata.status ? '未开启' : '已开启') +'</button><hr/>\
</p>\
<!-- master list -->\
<div class="safe bgw table_master_list"></div>\
<hr/>\
<p class="conf_p">\
<span class="f14 c6 mr20">Slave[从]配置</span><span class="f14 c6 mr20"></span>\
<button class="btn '+(!rdata.data.slave_status ? 'btn-danger' : 'btn-success')+' btn-xs btn-slave va0">'+(!rdata.data.slave_status ? '未启动' : '已启动') +'</button><hr/>\
</p>\
<!-- slave status list -->\
<div class="safe bgw table_slave_status_list"></div>\
<!-- slave list -->\
<div class="safe bgw table_slave_list"></div>\
';
$(".soft-man-con").html(limitCon);
//设置主服务器配置
$(".btn-master").click(function () {
myPost('set_master_status', 'close=change', function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){
getMasterStatus();
}, 3000);
});
});
$(".btn-slave").click(function () {
myPost('set_slave_status', 'close=change', function(data){
var rdata = $.parseJSON(data.data);
layer.msg(rdata.msg, { icon: rdata.status ? 1 : 5 });
setTimeout(function(){
getMasterStatus();
}, 3000);
});
});
if (rdata.status){
getMasterDbList();
}
if (rdata.data.slave_status){
getAsyncMasterDbList();
getAsyncDataList()
}
});
}
getMasterStatus();
}
+7 -6
View File
@@ -9,7 +9,7 @@ curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
mysqlDir=${serverPath}/source/mysql
@@ -19,11 +19,12 @@ Install_mysql()
mkdir -p ${mysqlDir}
echo '正在安装脚本文件...' > $install_tmp
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
groupadd mysql
useradd -g mysql mysql
if [ "$sysName" != "Darwin" ];then
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
groupadd mysql
useradd -g mysql mysql
fi
if [ ! -f ${mysqlDir}/mysql-5.5.62.tar.gz ];then
wget -O ${mysqlDir}/mysql-5.5.62.tar.gz https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.62.tar.gz
+13 -10
View File
@@ -11,6 +11,7 @@ curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
@@ -21,23 +22,25 @@ Install_mysql()
mkdir -p ${mysqlDir}
echo '正在安装脚本文件...' > $install_tmp
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
if [ "$sysName" != "Darwin" ];then
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
groupadd mysql
useradd -g mysql mysql
fi
groupadd mysql
useradd -g mysql mysql
if [ ! -f ${mysqlDir}/mysql-5.6.46.tar.gz ];then
wget -O ${mysqlDir}/mysql-5.6.46.tar.gz https://cdn.mysql.com//Downloads/MySQL-5.6/mysql-5.6.46.tar.gz
if [ ! -f ${mysqlDir}/mysql-5.6.50.tar.gz ];then
wget -O ${mysqlDir}/mysql-5.6.50.tar.gz https://cdn.mysql.com/Downloads/MySQL-5.6/mysql-5.6.50.tar.gz
fi
if [ ! -d ${mysqlDir}/mysql-5.6.46 ];then
cd ${mysqlDir} && tar -zxvf ${mysqlDir}/mysql-5.6.46.tar.gz
if [ ! -d ${mysqlDir}/mysql-5.6.50 ];then
cd ${mysqlDir} && tar -zxvf ${mysqlDir}/mysql-5.6.50.tar.gz
fi
if [ ! -d $serverPath/mysql ];then
cd ${mysqlDir}/mysql-5.6.46 && cmake \
cd ${mysqlDir}/mysql-5.6.50 && cmake \
-DCMAKE_INSTALL_PREFIX=$serverPath/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
+12 -11
View File
@@ -11,7 +11,7 @@ curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
# sysName=`uname`
sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
@@ -22,22 +22,23 @@ Install_mysql()
mkdir -p ${mysqlDir}
echo '正在安装脚本文件...' > $install_tmp
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
if [ "$sysName" != "Darwin" ];then
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
groupadd mysql
useradd -g mysql mysql
fi
groupadd mysql
useradd -g mysql mysql
if [ ! -f ${mysqlDir}/mysql-boost-5.7.28.tar.gz ];then
wget -O ${mysqlDir}/mysql-boost-5.7.28.tar.gz https://cdn.mysql.com//Downloads/MySQL-5.7/mysql-boost-5.7.28.tar.gz
if [ ! -f ${mysqlDir}/mysql-boost-5.7.32.tar.gz ];then
wget -O ${mysqlDir}/mysql-boost-5.7.32.tar.gz https://cdn.mysql.com/Downloads/MySQL-5.7/mysql-boost-5.7.32.tar.gz
fi
if [ ! -d ${mysqlDir}/mysql-5.7.28 ];then
cd ${mysqlDir} && tar -zxvf ${mysqlDir}/mysql-boost-5.7.28.tar.gz
if [ ! -d ${mysqlDir}/mysql-5.7.32 ];then
cd ${mysqlDir} && tar -zxvf ${mysqlDir}/mysql-boost-5.7.32.tar.gz
fi
if [ ! -d $serverPath/mysql ];then
cd ${mysqlDir}/mysql-5.7.28 && cmake \
cd ${mysqlDir}/mysql-5.7.32 && cmake \
-DCMAKE_INSTALL_PREFIX=$serverPath/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
+78
View File
@@ -0,0 +1,78 @@
# -*- coding: utf-8 -*-
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
#https://dev.mysql.com/downloads/mysql/5.7.html
#https://dev.mysql.com/downloads/file/?id=489855
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
mysqlDir=${serverPath}/source/mysql
Install_mysql()
{
mkdir -p ${mysqlDir}
echo '正在安装脚本文件...' > $install_tmp
INSTALL_CMD=cmake
if [ "$sysName" != "Darwin" ];then
mkdir -p /var/log/mariadb
touch /var/log/mariadb/mariadb.log
groupadd mysql
useradd -g mysql mysql
yum install -y cmake3
INSTALL_CMD=cmake3
fi
if [ ! -f ${mysqlDir}/mysql-boost-8.0.22.tar.gz ];then
wget -O ${mysqlDir}/mysql-boost-8.0.22.tar.gz https://cdn.mysql.com/archives/mysql-8.0/mysql-boost-8.0.22.tar.gz
fi
if [ ! -d ${mysqlDir}/mysql-8.0.22 ];then
cd ${mysqlDir} && tar -zxvf ${mysqlDir}/mysql-boost-8.0.22.tar.gz
fi
if [ ! -d $serverPath/mysql ];then
cd ${mysqlDir}/mysql-8.0.22 && ${INSTALL_CMD} \
-DCMAKE_INSTALL_PREFIX=$serverPath/mysql \
-DMYSQL_USER=mysql \
-DMYSQL_TCP_PORT=3306 \
-DMYSQL_UNIX_ADDR=/var/tmp/mysql.sock \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DWITH_PARTITION_STORAGE_ENGINE=1 \
-DEXTRA_CHARSETS=all \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DDOWNLOAD_BOOST=1 \
-DFORCE_INSOURCE_BUILD=1 \
-DWITH_BOOST=${mysqlDir}/mysql-8.0.22/boost/
make && make install && make clean
echo '8.0' > $serverPath/mysql/version.pl
echo '安装完成' > $install_tmp
fi
}
Uninstall_mysql()
{
rm -rf $serverPath/mysql
echo '卸载完成' > $install_tmp
}
action=$1
if [ "${1}" == 'install' ];then
Install_mysql
else
Uninstall_mysql
fi
+2 -2
View File
@@ -11,6 +11,6 @@
"home":"http://openresty.org",
"date":"2017-11-24",
"pid": "1",
"versions": ["1.11.2.5", "1.13.6.2","1.15.8.3"],
"updates": ["1.11.2.5", "1.13.6.2","1.15.8.3 "]
"versions": ["1.11.2.5", "1.13.6.2","1.15.8.3","1.19.3.1"],
"updates": ["1.11.2.5", "1.13.6.2","1.15.8.3","1.19.3.1"]
}
+3 -1
View File
@@ -20,7 +20,8 @@ if id www &> /dev/null ;then
echo "www Shell is `grep "^www:" /etc/passwd |cut -d':' -f7 `"
else
groupadd www
useradd -g www -s /sbin/nologin www
# useradd -g www -s /sbin/nologin www
useradd -g www -s /bin/bash www
fi
Install_openresty()
@@ -39,6 +40,7 @@ Install_openresty()
cd ${openrestyDir}/openresty-${VERSION} && ./configure --prefix=$serverPath/openresty \
--with-http_v2_module \
--with-http_ssl_module \
--with-http_slice_module \
--with-http_stub_status_module && make && make install && \
echo "${VERSION}" > $serverPath/openresty/version.pl
+156
View File
@@ -0,0 +1,156 @@
<?xml version="1.0" ?>
<configuration>
All relative paths in this config are relative to php's install prefix
<section name="global_options">
Pid file
<value name="pid_file">/www/server/php/52/logs/php-fpm.pid</value>
Error log file
<value name="error_log">/www/server/php/52/logs/php-fpm.log</value>
Log level
<value name="log_level">notice</value>
When this amount of php processes exited with SIGSEGV or SIGBUS ...
<value name="emergency_restart_threshold">10</value>
... in a less than this interval of time, a graceful restart will be initiated.
Useful to work around accidental curruptions in accelerator's shared memory.
<value name="emergency_restart_interval">1m</value>
Time limit on waiting child's reaction on signals from master
<value name="process_control_timeout">5s</value>
Set to 'no' to debug fpm
<value name="daemonize">yes</value>
</section>
<workers>
<section name="pool">
Name of pool. Used in logs and stats.
<value name="name">default</value>
Address to accept fastcgi requests on.
Valid syntax is 'ip.ad.re.ss:port' or just 'port' or '/path/to/unix/socket'
<value name="listen_address">/tmp/php-cgi-52.sock</value>
<value name="listen_options">
Set listen(2) backlog
<value name="backlog">-1</value>
Set permissions for unix socket, if one used.
In Linux read/write permissions must be set in order to allow connections from web server.
Many BSD-derrived systems allow connections regardless of permissions.
<value name="owner">www</value>
<value name="group">www</value>
<value name="mode">0666</value>
</value>
Additional php.ini defines, specific to this pool of workers.
<value name="php_defines">
<!-- <value name="sendmail_path">/usr/sbin/sendmail -t -i</value> -->
<!-- <value name="display_errors">0</value> -->
</value>
Unix user of processes
<value name="user">www</value>
Unix group of processes
<value name="group">www</value>
Process manager settings
<value name="pm">
Sets style of controling worker process count.
Valid values are 'static' and 'apache-like'
<value name="style">static</value>
Sets the limit on the number of simultaneous requests that will be served.
Equivalent to Apache MaxClients directive.
Equivalent to PHP_FCGI_CHILDREN environment in original php.fcgi
Used with any pm_style.
<value name="max_children">5</value>
Settings group for 'apache-like' pm style
<value name="apache_like">
Sets the number of server processes created on startup.
Used only when 'apache-like' pm_style is selected
<value name="StartServers">20</value>
Sets the desired minimum number of idle server processes.
Used only when 'apache-like' pm_style is selected
<value name="MinSpareServers">5</value>
Sets the desired maximum number of idle server processes.
Used only when 'apache-like' pm_style is selected
<value name="MaxSpareServers">35</value>
</value>
</value>
The timeout (in seconds) for serving a single request after which the worker process will be terminated
Should be used when 'max_execution_time' ini option does not stop script execution for some reason
'0s' means 'off'
<value name="request_terminate_timeout">0s</value>
The timeout (in seconds) for serving of single request after which a php backtrace will be dumped to slow.log file
'0s' means 'off'
<value name="request_slowlog_timeout">0s</value>
The log file for slow requests
<value name="slowlog">logs/slow.log</value>
Set open file desc rlimit
<value name="rlimit_files">1024</value>
Set max core size rlimit
<value name="rlimit_core">0</value>
Chroot to this directory at the start, absolute path
<value name="chroot"></value>
Chdir to this directory at the start, absolute path
<value name="chdir"></value>
Redirect workers' stdout and stderr into main error log.
If not set, they will be redirected to /dev/null, according to FastCGI specs
<value name="catch_workers_output">yes</value>
How much requests each process should execute before respawn.
Useful to work around memory leaks in 3rd party libraries.
For endless request processing please specify 0
Equivalent to PHP_FCGI_MAX_REQUESTS
<value name="max_requests">500</value>
Comma separated list of ipv4 addresses of FastCGI clients that allowed to connect.
Equivalent to FCGI_WEB_SERVER_ADDRS environment in original php.fcgi (5.2.2+)
Makes sense only with AF_INET listening socket.
<value name="allowed_clients">127.0.0.1</value>
Pass environment variables like LD_LIBRARY_PATH
All $VARIABLEs are taken from current environment
<value name="environment">
<value name="HOSTNAME">$HOSTNAME</value>
<value name="PATH">/usr/local/bin:/usr/bin:/bin</value>
<value name="TMP">/tmp</value>
<value name="TMPDIR">/tmp</value>
<value name="TEMP">/tmp</value>
<value name="OSTYPE">$OSTYPE</value>
<value name="MACHTYPE">$MACHTYPE</value>
<value name="MALLOC_CHECK_">2</value>
</value>
</section>
</workers>
</configuration>
+1 -1
View File
@@ -38,7 +38,7 @@ always_populate_raw_post_data=-1
file_uploads = On
upload_tmp_dir = "/tmp"
upload_tmp_dir = "/tmp/upload"
upload_max_filesize = 2M
max_file_uploads = 20
+20 -2
View File
@@ -113,7 +113,7 @@ def contentReplace(content, version):
def makeOpenrestyConf():
phpversions = ['00', '53', '54', '55', '56',
phpversions = ['00', '52', '53', '54', '55', '56',
'70', '71', '72', '73', '74', '80']
if mw.isInstalledWeb():
sdir = mw.getServerDir()
@@ -164,6 +164,11 @@ def phpFpmReplace(version):
content = mw.readFile(tpl_php_fpm)
content = contentReplace(content, version)
mw.writeFile(desc_php_fpm, content)
else:
if version == '52':
tpl_php_fpm = tpl_php_fpm = getPluginDir() + '/conf/php-fpm-52.conf'
content = mw.readFile(tpl_php_fpm)
mw.writeFile(desc_php_fpm, content)
def phpFpmWwwReplace(version):
@@ -184,7 +189,11 @@ def makePhpIni(version):
d_ini = mw.getServerDir() + '/php/' + version + '/etc/php.ini'
if not os.path.exists(d_ini):
s_ini = getPluginDir() + '/conf/php' + version[0:1] + '.ini'
shutil.copyfile(s_ini, d_ini)
# shutil.copyfile(s_ini, d_ini)
content = mw.readFile(s_ini)
if version == '52':
content = content + "auto_prepend_file=/www/server/php/app_start.php"
mw.writeFile(d_ini, content)
def initReplace(version):
@@ -199,6 +208,9 @@ def initReplace(version):
if not os.path.exists(file_bin):
file_tpl = getPluginDir() + '/init.d/php.tpl'
if version == '52':
file_tpl = getPluginDir() + '/init.d/php52.tpl'
content = mw.readFile(file_tpl)
content = contentReplace(content, version)
@@ -214,6 +226,12 @@ def initReplace(version):
os.mkdir(session_path)
if not mw.isAppleSystem():
mw.execShell('chown -R www:www ' + session_path)
upload_path = '/tmp/upload'
if not os.path.exists(upload_path):
os.mkdir(upload_path)
if not mw.isAppleSystem():
mw.execShell('chown -R www:www ' + upload_path)
return file_bin
+2 -2
View File
@@ -5,8 +5,8 @@
"name": "php",
"title": "PHP",
"coexist": true,
"versions": ["53","54","55","56","70","71","72","73","74","80"],
"updates": ["5.3.17","5.4.45","5.6.36","7.0.30","7.1.33","7.2.32","7.3.20","7.4.8","8.0.0"],
"versions": ["52","53","54","55","56","70","71","72","73","74","80"],
"updates": ["5.2.17","5.3.29","5.4.45","5.6.36","7.0.30","7.1.33","7.2.32","7.3.20","7.4.8","8.0.0"],
"tip": "soft",
"checks": "server/php/VERSION/bin/php",
"path": "server/php/VERSION",
+139
View File
@@ -0,0 +1,139 @@
#! /bin/sh
php_fpm_BIN=/www/server/php/52/bin/php-cgi
php_fpm_CONF=/www/server/php/52/etc/php-fpm.conf
php_fpm_PID=/www/server/php/52/logs/php-fpm.pid
php_opts="--fpm-config $php_fpm_CONF"
wait_for_pid () {
try=0
while test $try -lt 35 ; do
case "$1" in
'created')
if [ -f "$2" ] ; then
try=''
break
fi
;;
'removed')
if [ ! -f "$2" ] ; then
try=''
break
fi
;;
esac
echo -n .
try=`expr $try + 1`
sleep 1
done
}
case "$1" in
start)
echo -n "Starting php_fpm "
$php_fpm_BIN --fpm $php_opts
if [ "$?" != 0 ] ; then
echo " failed"
exit 1
fi
wait_for_pid created $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
stop)
echo -n "Shutting down php_fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -TERM `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
quit)
echo -n "Gracefully shutting down php_fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -QUIT `cat $php_fpm_PID`
wait_for_pid removed $php_fpm_PID
if [ -n "$try" ] ; then
echo " failed"
exit 1
else
echo " done"
fi
;;
restart)
$0 stop
$0 start
;;
reload)
echo -n "Reload service php-fpm "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -USR2 `cat $php_fpm_PID`
echo " done"
;;
logrotate)
echo -n "Re-opening php-fpm log file "
if [ ! -r $php_fpm_PID ] ; then
echo "warning, no pid file found - php-fpm is not running ?"
exit 1
fi
kill -USR1 `cat $php_fpm_PID`
echo " done"
;;
*)
echo "Usage: $0 {start|stop|quit|restart|reload|logrotate}"
exit 1
;;
esac
+110
View File
@@ -0,0 +1,110 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
# php 5.2.17 + eaccelerator 0.9.5.3
# php 5.3.24 + eaccelerator 0.9.6.1
# php 5.4.14 + eaccelerator 1.0 dev
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=eaccelerator
LIBV=0.9.6
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20060613/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tar.gz https://github.com/eaccelerator/eaccelerator/archive/${LIBV}.tar.gz
# wget -O $php_lib/${LIBNAME}-${LIBV}.tar.bz2 http://dl.wdlinux.cn:5180/soft/eaccelerator-0.9.6.1.tar.bz2
cd $php_lib && tar -zxvf ${LIBNAME}-${LIBV}.tar.gz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config \
--enable-eaccelerator=shared
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
EA_DIR=/tmp/eaccelerator
mkdir -p $EA_DIR
chmod 777 -R $EA_DIR
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.enable=1" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.optimizer=1" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.shm_size=64" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.cache_dir=${EA_DIR}" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.allowed_admin_path=/www/wwwroot/you_project_dir" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+143
View File
@@ -0,0 +1,143 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source
sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
version=5.2.17
PHP_VER=52
Install_php()
{
#------------------------ install start ------------------------------------#
echo "安装php-${version} ..." > $install_tmp
mkdir -p $sourcePath/php
mkdir -p $serverPath/php
if [ ! -d $sourcePath/php/php${PHP_VER} ];then
if [ ! -f $sourcePath/php/php-${version}.tar.gz ];then
wget --no-check-certificate -O $sourcePath/php/php-${version}.tar.gz https://museum.php.net/php5/php-${version}.tar.gz
fi
if [ ! -f $sourcePath/php/php-5.2.17-fpm-0.5.14.diff.gz ]; then
wget -O $sourcePath/php/php-5.2.17-fpm-0.5.14.diff.gz http://php-fpm.org/downloads/php-5.2.17-fpm-0.5.14.diff.gz
fi
if [ ! -f $sourcePath/php/php-5.2.17-max-input-vars.patch ]; then
wget -O $sourcePath/php/php-5.2.17-max-input-vars.patch https://raw.github.com/laruence/laruence.github.com/master/php-5.2-max-input-vars/php-5.2.17-max-input-vars.patch
fi
if [ ! -f $sourcePath/php/php-5.x.x.patch ]; then
wget -O $sourcePath/php/php-5.x.x.patch https://mail.gnome.org/archives/xml/2012-August/txtbgxGXAvz4N.txt
fi
cd $sourcePath/php && tar -zxvf $sourcePath/php/php-${version}.tar.gz
mv $sourcePath/php/php-${version} $sourcePath/php/php${PHP_VER}
cd $sourcePath/php
gzip -cd php-5.2.17-fpm-0.5.14.diff.gz | patch -d php${PHP_VER} -p1
cd $sourcePath/php/php${PHP_VER}
patch -p1 < ../php-5.2.17-max-input-vars.patch
patch -p0 -b < ../php-5.x.x.patch
sed -i "s/\!png_check_sig (sig, 8)/png_sig_cmp (sig, 0, 8)/" ext/gd/libgd/gd_png.c
fi
if [ -f $serverPath/php/${PHP_VER}/bin/php.dSYM ];then
mv $serverPath/php/${PHP_VER}/bin/php.dSYM $serverPath/php/${PHP_VER}/bin/php
fi
if [ -f $serverPath/php/${PHP_VER}/sbin/php-fpm.dSYM ];then
mv $serverPath/php/${PHP_VER}/sbin/php-fpm.dSYM $serverPath/php/${PHP_VER}/sbin/php-fpm
fi
if [ -f $serverPath/php/${PHP_VER}/bin/php ];then
return
fi
OPTIONS=''
if [ $sysName == 'Darwin' ]; then
OPTIONS='--without-iconv'
OPTIONS="${OPTIONS} --with-freetype-dir=${serverPath}/lib/freetype"
OPTIONS="${OPTIONS} --with-curl=${serverPath}/lib/curl"
else
OPTIONS="--with-iconv=${serverPath}/lib/libiconv"
OPTIONS="${OPTIONS} --with-freetype-dir=${serverPath}/lib/freetype"
OPTIONS="${OPTIONS} --with-gd --enable-gd-native-ttf"
OPTIONS="${OPTIONS} --with-curl"
fi
if [ ! -d $serverPath/php/${PHP_VER} ];then
ln -s /usr/lib64/libjpeg.so /usr/lib/libjpeg.so
ln -s /usr/lib64/libpng.so /usr/lib/
cp -frp /usr/lib64/libldap* /usr/lib/
export MYSQL_LIB_DIR=/usr/lib64/mysql
cd $sourcePath/php/php${PHP_VER} && ./configure \
--prefix=$serverPath/php/${PHP_VER} \
--exec-prefix=$serverPath/php/${PHP_VER} \
--with-config-file-path=$serverPath/php/${PHP_VER}/etc \
--with-zlib-dir=$serverPath/lib/zlib \
--enable-xml \
--enable-mysqlnd \
--enable-shared \
--with-mysql=mysqlnd \
--enable-embedded-mysqli=shared \
--enable-sysvmsg \
--enable-sysvsem \
--enable-sysvshm \
--disable-fileinfo \
$OPTIONS \
--enable-fastcgi \
--enable-fpm
make ZEND_EXTRA_LIBS='-liconv' && make install && make clean
fi
if [ "$?" != "0" ];then
echo "install fail!!"
rm -rf $sourcePath/php/php${PHP_VER}
exit 2
fi
if [ -f $serverPath/php/${PHP_VER}/bin/php.dSYM ];then
mv $serverPath/php/${PHP_VER}/bin/php.dSYM $serverPath/php/${PHP_VER}/bin/php
fi
if [ -f $serverPath/php/${PHP_VER}/sbin/php-fpm.dSYM ];then
mv $serverPath/php/${PHP_VER}/sbin/php-fpm.dSYM $serverPath/php/${PHP_VER}/sbin/php-fpm
fi
if [ ! -d $serverPath/php/${PHP_VER}/lib/php/extensions/no-debug-non-zts-20060613 ]; then
mkdir -p $serverPath/php/${PHP_VER}/lib/php/extensions/no-debug-non-zts-20060613
fi
#------------------------ install end ------------------------------------#
}
Uninstall_php()
{
$serverPath/php/init.d/php${PHP_VER} stop
rm -rf $serverPath/php/${PHP_VER}
echo "uninstall php-${version} ..." > $install_tmp
}
action=${1}
if [ "${1}" == 'install' ];then
Install_php
else
Uninstall_php
fi
+93
View File
@@ -0,0 +1,93 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=intl
LIBV=3.0.0
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20060613/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
cd ${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+91
View File
@@ -0,0 +1,91 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=memcache
LIBV=2.2.7
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20060613/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
cd ${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config --enable-memcache --with-zlib-dir
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install memcache, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+98
View File
@@ -0,0 +1,98 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=redis
LIBV=2.2.7
sysName=`uname`
actionType=$1
version=$2
extDir=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20060613/
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -f $php_lib/${LIBNAME}-${LIBV}.tgz ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
sleep 1
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install memcache, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+101
View File
@@ -0,0 +1,101 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=xhprof
LIBV=0.9.4
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20060613/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}/extension
$serverPath/php/$version/bin/phpize
./configure --enable-xhprof \
--with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
if [ ! -f /tmp/xhprof ];then
mkdir -p /tmp/xhprof
chown -R www:www /tmp/xhprof
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.output_dir=/tmp/xhprof" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+101
View File
@@ -0,0 +1,101 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=ZendGuardLoader
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "ZendOptimizer.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ $sysName == 'Darwin' ]; then
wget -O $php_lib/zend-loader-php5.3.tar.gz http://downloads.zend.com/guard/5.5.0/ZendGuardLoader-php-5.3-darwin-i386.tar.gz
else
wget -O $php_lib/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz http://downloads.zend.com/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
fi
cd $php_lib && tar zxvf ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
cd $php_lib/ZendOptimizer-3.3.3-linux-glibc23-x86_64
cp $php_lib/ZendOptimizer-3.3.3-linux-glibc23-x86_64/data/5_2_x_comp/ZendOptimizer.so $serverPath/php/$version/lib/php/extensions/no-debug-non-zts-20060613/
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[Zend ZendGuard Loader]" >> $serverPath/php/$version/etc/php.ini
echo "zend_extension=$serverPath/php/$version/lib/php/extensions/no-debug-non-zts-20060613/ZendOptimizer.so" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.enable=1" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.disable_licensing=0" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.obfuscation_level_support=3" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.license_path=" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
return
fi
sed -i $BAK "/ZendOptimizer.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/zend_loader/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/\[Zend ZendGuard Loader\]/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+9
View File
@@ -62,6 +62,10 @@ if [ ! -d $serverPath/php/53 ];then
--exec-prefix=$serverPath/php/53 \
--with-config-file-path=$serverPath/php/53/etc \
--with-zlib-dir=$serverPath/lib/zlib \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--enable-zip \
--enable-exif \
--enable-hash \
@@ -97,6 +101,11 @@ if [ -f $serverPath/php/53/sbin/php-fpm.dSYM ];then
mv $serverPath/php/53/sbin/php-fpm.dSYM $serverPath/php/53/sbin/php-fpm
fi
if [ ! -d $serverPath/php/53/lib/php/extensions/no-debug-non-zts-20090626 ]; then
mkdir -p $serverPath/php/53/lib/php/extensions/no-debug-non-zts-20090626
fi
#------------------------ install end ------------------------------------#
}
+1 -1
View File
@@ -58,7 +58,7 @@ Install_lib()
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[Zend ZendGuard Loader]" >> $serverPath/php/$version/etc/php.ini
echo "zend_extension=ZendGuardLoader.so" >> $serverPath/php/$version/etc/php.ini
echo "zend_extension=$serverPath/php/$version/lib/php/extensions/no-debug-non-zts-20090626/ZendGuardLoader.so" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.enable=1" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.disable_licensing=0" >> $serverPath/php/$version/etc/php.ini
echo "zend_loader.obfuscation_level_support=3" >> $serverPath/php/$version/etc/php.ini
+3
View File
@@ -48,6 +48,9 @@ if [ ! -d $serverPath/php/${PHP_VER} ];then
--with-config-file-path=$serverPath/php/${PHP_VER}/etc \
--with-zlib-dir=$serverPath/lib/zlib \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--enable-zip \
--enable-mbstring \
--enable-sockets \
+3
View File
@@ -47,6 +47,9 @@ if [ ! -d $serverPath/php/55 ];then
--with-config-file-path=$serverPath/php/55/etc \
--with-zlib-dir=$serverPath/lib/zlib \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
--enable-zip \
--enable-simplexml \
--enable-intl \
+1
View File
@@ -46,6 +46,7 @@ if [ ! -d $serverPath/php/56 ];then
--exec-prefix=$serverPath/php/56 \
--with-config-file-path=$serverPath/php/56/etc \
--with-zlib-dir=$serverPath/lib/zlib \
--enable-mysqlnd \
--with-mysql=mysqlnd \
--with-pdo-mysql=mysqlnd \
--with-mysqli=mysqlnd \
+1 -2
View File
@@ -12,13 +12,12 @@ serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
actionType=$1
version=$2
sysName=`uname`
LIBNAME=yac
LIBV=2.0.2
LIBV=2.2.1
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20151012/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
+1 -1
View File
@@ -13,7 +13,7 @@ sourcePath=${serverPath}/source/php
LIBNAME=yar
LIBV=1.2.5
LIBV=2.1.2
actionType=$1
version=$2
+1 -1
View File
@@ -80,7 +80,7 @@ Uninstall_lib()
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install memcache, Plese select other version!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
+1 -1
View File
@@ -14,7 +14,7 @@ sourcePath=${serverPath}/source/php
actionType=$1
version=$2
LIBNAME=swoole
LIBV=4.5.1
LIBV=4.5.2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20160303/${LIBNAME}.so
+1 -1
View File
@@ -16,7 +16,7 @@ actionType=$1
version=$2
LIBNAME=yac
LIBV=2.0.2
LIBV=2.2.1
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20160303/${LIBNAME}.so
sysName=`uname`
+1 -1
View File
@@ -15,7 +15,7 @@ actionType=$1
version=$2
LIBNAME=yaf
LIBV=3.2.5
LIBV=3.0.7
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20160303/${LIBNAME}.so
sysName=`uname`
+1 -1
View File
@@ -12,7 +12,7 @@ serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=yar
LIBV=1.2.5
LIBV=2.1.2
actionType=$1
version=$2
+1 -1
View File
@@ -80,7 +80,7 @@ Uninstall_lib()
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install memcache, Plese select other version!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
+1 -1
View File
@@ -16,7 +16,7 @@ version=$2
LIBNAME=swoole
LIBV=4.5.1
LIBV=4.5.2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20170718/${LIBNAME}.so
sysName=`uname`
+1 -1
View File
@@ -17,7 +17,7 @@ actionType=$1
version=$2
LIBNAME=yac
LIBV=2.0.2
LIBV=2.2.1
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20170718/${LIBNAME}.so
sysName=`uname`
if [ "$sysName" == "Darwin" ];then
+1 -1
View File
@@ -13,7 +13,7 @@ sourcePath=${serverPath}/source/php
LIBNAME=yar
LIBV=1.2.5
LIBV=2.1.2
actionType=$1
version=$2
+1 -1
View File
@@ -11,7 +11,7 @@ sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
version=7.3.20
version=7.3.27
PHP_VER=73
Install_php()
{
+1 -1
View File
@@ -81,7 +81,7 @@ Uninstall_lib()
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install memcache, Plese select other version!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
+1 -1
View File
@@ -16,7 +16,7 @@ version=$2
LIBNAME=swoole
LIBV=4.5.1
LIBV=4.5.2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20180731/${LIBNAME}.so
sysName=`uname`
+98
View File
@@ -0,0 +1,98 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
actionType=$1
version=$2
LIBNAME=yac
LIBV=2.2.1
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20180731/${LIBNAME}.so
sysName=`uname`
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "$isInstall" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -f $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib
tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
cd ..
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return;
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.use_namespace=1" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php$version 未安装yaf,请选择其它版本!"
return
fi
echo $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/\[${LIBNAME}\]/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+1 -1
View File
@@ -13,7 +13,7 @@ sourcePath=${serverPath}/source/php
LIBNAME=yar
LIBV=2.0.5
LIBV=2.1.2
actionType=$1
version=$2
+1 -1
View File
@@ -11,7 +11,7 @@ sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
version=7.4.8
version=7.4.15
PHP_VER=74
Install_php()
{
+1 -1
View File
@@ -37,7 +37,7 @@ Install_lib()
if [ ! -f "$extFile" ];then
cd $sourcePath/php74/ext/${LIBNAME}
cd $sourcePath/php${version}/ext/${LIBNAME}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
+104
View File
@@ -0,0 +1,104 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=SeasLog
_LIBNAME=$(echo $LIBNAME | tr '[A-Z]' '[a-z]')
LIBV=2.1.0
sysName=`uname`
actionType=$1
version=$2
extDir=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20190902/
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${_LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
extFile=$extDir${_LIBNAME}.so
if [ ! -f "$extFile" ];then
OPTIONS=''
if [ $sysName == 'Darwin' ]; then
OPTIONS="${OPTIONS} --with-curl=${serverPath}/lib/curl"
fi
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV}.tgz ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
sleep 1
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
_LIBNAME=$(echo $LIBNAME | tr '[A-Z]' '[a-z]')
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${_LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${_LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
extFile=$extDir${_LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
_LIBNAME=$(echo $LIBNAME | tr '[A-Z]' '[a-z]')
sed -i $BAK "/${_LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${_LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+102
View File
@@ -0,0 +1,102 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=solr
LIBV=2.5.1
sysName=`uname`
actionType=$1
version=$2
extDir=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20190902/
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "$isInstall" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
OPTIONS=''
if [ $sysName == 'Darwin' ]; then
OPTIONS="${OPTIONS} --with-curl=${serverPath}/lib/curl"
fi
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -f $php_lib/${LIBNAME}-${LIBV}.tgz ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config $OPTIONS
make && make install && make clean
fi
sleep 1
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+1 -1
View File
@@ -16,7 +16,7 @@ version=$2
LIBNAME=swoole
LIBV=4.5.1
LIBV=4.5.2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20190902/${LIBNAME}.so
sysName=`uname`
+98
View File
@@ -0,0 +1,98 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
actionType=$1
version=$2
LIBNAME=yac
LIBV=2.2.1
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20190902/${LIBNAME}.so
sysName=`uname`
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "$isInstall" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -f $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib
tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
cd ..
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return;
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.use_namespace=1" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php$version 未安装yaf,请选择其它版本!"
return
fi
echo $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/\[${LIBNAME}\]/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+100
View File
@@ -0,0 +1,100 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=yar
LIBV=2.1.2
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20190902/${LIBNAME}.so
sysName=`uname`
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config \
--with-curl=$serverPath/lib/curl
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return;
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.expose_info=false" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
echo $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}.use_namespace/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/\[${LIBNAME}\]/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+2 -2
View File
@@ -11,7 +11,7 @@ sysName=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
version=8.0.0alpha2
version=8.0.2
PHP_VER=80
Install_php()
{
@@ -23,7 +23,7 @@ mkdir -p $serverPath/php
if [ ! -d $sourcePath/php/php${PHP_VER} ];then
if [ ! -f $sourcePath/php/php-${version}.tar.xz ];then
wget --no-check-certificate -O $sourcePath/php/php-${version}.tar.xz https://downloads.php.net/~carusogabriel/php-${version}.tar.xz
wget --no-check-certificate -O $sourcePath/php/php-${version}.tar.xz https://www.php.net/distributions/php-${version}.tar.xz
fi
cd $sourcePath/php && tar -Jxf $sourcePath/php/php-${version}.tar.xz
+99
View File
@@ -0,0 +1,99 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=memcached
LIBV=3.1.5
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
rm -rf $php_lib/${LIBNAME}-${LIBV}
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
sed -i '_bak' "3237,3238s#ulong#zend_ulong#g" $php_lib/${LIBNAME}-${LIBV}/php_memcached.c
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config \
--enable-memcached \
--disable-memcached-sasl && \
make clean && make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+94
View File
@@ -0,0 +1,94 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=mongodb
LIBV=1.9.0
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config \
&& make clean && make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+97
View File
@@ -0,0 +1,97 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=redis
LIBV=5.3.3
sysName=`uname`
actionType=$1
version=$2
extDir=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+104
View File
@@ -0,0 +1,104 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=SeasLog
_LIBNAME=$(echo $LIBNAME | tr '[A-Z]' '[a-z]')
LIBV=2.2.0
sysName=`uname`
actionType=$1
version=$2
extDir=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${_LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
extFile=$extDir${_LIBNAME}.so
if [ ! -f "$extFile" ];then
OPTIONS=''
if [ $sysName == 'Darwin' ]; then
OPTIONS="${OPTIONS} --with-curl=${serverPath}/lib/curl"
fi
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV}.tgz ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
sleep 1
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
_LIBNAME=$(echo $LIBNAME | tr '[A-Z]' '[a-z]')
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${_LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${_LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
extFile=$extDir${_LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
_LIBNAME=$(echo $LIBNAME | tr '[A-Z]' '[a-z]')
sed -i $BAK "/${_LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${_LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+102
View File
@@ -0,0 +1,102 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=solr
LIBV=2.5.1
sysName=`uname`
actionType=$1
version=$2
extDir=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "$isInstall" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
OPTIONS=''
if [ $sysName == 'Darwin' ]; then
OPTIONS="${OPTIONS} --with-curl=${serverPath}/lib/curl"
fi
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -f $php_lib/${LIBNAME}-${LIBV}.tgz ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config $OPTIONS
make && make install && make clean
fi
sleep 1
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php$version 未安装,请选择其它版本!"
return
fi
extFile=$extDir${LIBNAME}.so
if [ ! -f "$extFile" ];then
echo "php$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$vphp not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+109
View File
@@ -0,0 +1,109 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
actionType=$1
version=$2
LIBNAME=swoole
LIBV=4.6.3
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/${LIBNAME}.so
sysName=`uname`
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -f $php_lib/${LIBNAME}-${LIBV}.tgz ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib
tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config \
--enable-openssl --with-openssl-dir=$serverPath/lib/openssl \
--enable-sockets
make clean && make && make install && make clean
fi
while [[ ! -f "$extFile" ]];
do
echo -e ".\c"
sleep 0.5
if [ ! -f "$extFile" ];then
echo "ERROR!"
fi
let n+=1
if [ $n -gt 8 ];then
echo "WAIT " $n "TIMES FAIL!"
return;
fi
done
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
return
fi
echo $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+95
View File
@@ -0,0 +1,95 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=xdebug
LIBV=3.0.2
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}
$serverPath/php/$version/bin/phpize
./configure --with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+100
View File
@@ -0,0 +1,100 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
sourcePath=${serverPath}/source/php
LIBNAME=xhprof
LIBV=2.2.3
sysName=`uname`
actionType=$1
version=$2
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/${LIBNAME}.so
if [ "$sysName" == "Darwin" ];then
BAK='_bak'
else
BAK=''
fi
Install_lib()
{
isInstall=`cat $serverPath/php/$version/etc/php.ini|grep "${LIBNAME}.so"`
if [ "${isInstall}" != "" ];then
echo "php-$version 已安装${LIBNAME},请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
php_lib=$sourcePath/php_lib
mkdir -p $php_lib
if [ ! -d $php_lib/${LIBNAME}-${LIBV} ];then
wget -O $php_lib/${LIBNAME}-${LIBV}.tgz http://pecl.php.net/get/${LIBNAME}-${LIBV}.tgz
cd $php_lib && tar xvf ${LIBNAME}-${LIBV}.tgz
fi
cd $php_lib/${LIBNAME}-${LIBV}/extension
$serverPath/php/$version/bin/phpize
./configure --enable-xhprof \
--with-php-config=$serverPath/php/$version/bin/php-config
make && make install && make clean
fi
if [ ! -f "$extFile" ];then
echo "ERROR!"
return
fi
if [ ! -f /tmp/xhprof ];then
mkdir -p /tmp/xhprof
chown -R www:www /tmp/xhprof
fi
echo "" >> $serverPath/php/$version/etc/php.ini
echo "[${LIBNAME}]" >> $serverPath/php/$version/etc/php.ini
echo "extension=${LIBNAME}.so" >> $serverPath/php/$version/etc/php.ini
echo "${LIBNAME}.output_dir=/tmp/xhprof" >> $serverPath/php/$version/etc/php.ini
$serverPath/php/init.d/php$version reload
echo '==========================================================='
echo 'successful!'
}
Uninstall_lib()
{
if [ ! -f "$serverPath/php/$version/bin/php-config" ];then
echo "php-$version 未安装,请选择其它版本!"
return
fi
if [ ! -f "$extFile" ];then
echo "php-$version 未安装${LIBNAME},请选择其它版本!"
echo "php-$version not install ${LIBNAME}, Plese select other version!"
return
fi
sed -i $BAK "/${LIBNAME}.so/d" $serverPath/php/$version/etc/php.ini
sed -i $BAK "/${LIBNAME}/d" $serverPath/php/$version/etc/php.ini
rm -f $extFile
$serverPath/php/init.d/php$version reload
echo '==============================================='
echo 'successful!'
}
if [ "$actionType" == 'install' ];then
Install_lib
elif [ "$actionType" == 'uninstall' ];then
Uninstall_lib
fi
+2 -2
View File
@@ -15,8 +15,8 @@ actionType=$1
version=$2
LIBNAME=yaf
LIBV=3.2.5
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20190128/${LIBNAME}.so
LIBV=3.3.0
extFile=$serverPath/php/${version}/lib/php/extensions/no-debug-non-zts-20200930/${LIBNAME}.so
sysName=`uname`
if [ "$sysName" == "Darwin" ];then
+28 -10
View File
@@ -61,6 +61,7 @@
{
"name": "intl",
"versions": [
"52",
"53"
],
"type": "通用扩展",
@@ -93,7 +94,8 @@
"71",
"72",
"73",
"74"
"74",
"80"
],
"type": "缓存器",
"msg": "强大的内容缓存器,支持集群",
@@ -103,6 +105,7 @@
{
"name": "redis",
"versions": [
"52",
"53",
"54",
"55",
@@ -111,7 +114,8 @@
"71",
"72",
"73",
"74"
"74",
"80"
],
"type": "缓存器",
"msg": "更强大的内容缓存器,支持集群",
@@ -157,7 +161,8 @@
"71",
"72",
"73",
"74"
"74",
"80"
],
"type": "调试器",
"msg": "不多说,不了解的不要安装",
@@ -167,6 +172,7 @@
{
"name": "xhprof",
"versions": [
"52",
"53",
"54",
"55",
@@ -175,7 +181,8 @@
"71",
"72",
"73",
"74"
"74",
"80"
],
"type": "性能分析",
"msg": "不多说,不了解的不要安装!",
@@ -193,7 +200,8 @@
"71",
"72",
"73",
"74"
"74",
"80"
],
"type": "通用扩展",
"msg": "异步、并行、高性能网络通信引擎",
@@ -203,6 +211,7 @@
{
"name": "eAccelerator",
"versions": [
"52",
"53"
],
"type": "缓存器",
@@ -238,7 +247,9 @@
"56",
"70",
"71",
"72"
"72",
"73",
"74"
],
"type": "框架",
"msg": "Yar是一个RPC框架",
@@ -267,7 +278,8 @@
"71",
"72",
"73",
"74"
"74",
"80"
],
"type": "通用扩展",
"msg": "Mongodb数据库连接驱动",
@@ -279,7 +291,9 @@
"versions": [
"70",
"71",
"72"
"72",
"73",
"74"
],
"type": "缓存器",
"msg": "高性能无锁共享内存Cache",
@@ -296,7 +310,9 @@
"70",
"71",
"72",
"73"
"73",
"74",
"80"
],
"type": "大数据",
"msg": "SOLR全文搜索服务",
@@ -313,7 +329,9 @@
"70",
"71",
"72",
"73"
"73",
"74",
"80"
],
"type": "日志",
"msg": "SeasLog高性能日志记录",
+7 -7
View File
@@ -1,12 +1,12 @@
<?php
$cfg['blowfish_secret'] = 'd41d8cd98f00b204e9800998ecf8427e';
$i = 0;
$i = 0;
$i++;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = 'localhost';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['auth_type'] = 'cookie';
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
$cfg['UploadDir'] = '';
$cfg['SaveDir'] = '';
?>
+2 -2
View File
@@ -13,8 +13,8 @@ QB_PWD = adminadmin
[file]
FILE_TO={$SERVER_PATH}/tmp
FILE_TRANSFER_TO={$SERVER_PATH}/tmp
FILE_TO={$WWW_PATH}/m3u8
FILE_TRANSFER_TO=/tmp/m3u8
FILE_OWN=www
FILE_GROUP=www
FILE_ENC_SWITCH=0
+1 -1
View File
@@ -3,7 +3,7 @@ CREATE TABLE `pl_hash_list` (
`name` text NOT NULL,
`info_hash` varchar(40) NOT NULL,
`length` bigint(20) NOT NULL,
`status` char(10) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`status` int(10) NOT NULL DEFAULT '0',
`create_time` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `info_hash` (`info_hash`),
+5 -5
View File
@@ -91,6 +91,7 @@ def getRunLog():
def contentReplace(content):
service_path = mw.getServerDir()
content = content.replace('{$SERVER_PATH}', service_path)
content = content.replace('{$WWW_PATH}', mw.getRootDir() + "/wwwroot")
return content
@@ -117,11 +118,10 @@ def initDreplace():
file_bin = initD_path + '/' + getPluginName()
# initd replace
if not os.path.exists(file_bin):
content = mw.readFile(file_tpl)
content = contentReplace(content)
mw.writeFile(file_bin, content)
mw.execShell('chmod +x ' + file_bin)
content = mw.readFile(file_tpl)
content = contentReplace(content)
mw.writeFile(file_bin, content)
mw.execShell('chmod +x ' + file_bin)
return file_bin
@@ -14,12 +14,25 @@
qb_start(){
isStartFF=`ps -ef | grep 'ffmpeg' | grep -v grep |awk '{print $2}'`
if [ "$isStartFF" != '' ];then
echo "qbittorrent ffmpeg is running! can\`t start!!!"
return 1
fi
cd {$SERVER_PATH}/qbittorrent/workers
nohup python qbittorrent_worker.py > {$SERVER_PATH}/qbittorrent/logs.pl 2>&1 &
echo "qbittorrent started"
}
qb_stop(){
isStartFF=`ps -ef | grep 'ffmpeg' | grep -v grep |awk '{print $2}'`
echo `ps -ef | grep 'ffmpeg'`
if [ "$isStartFF" != '' ];then
echo "qbittorrent ffmpeg is running! can\`t stop!!!"
return 1
fi
echo "Stopping ..."
#ps -ef | grep qbittorrent-nox-bin | grep -v grep | awk '{print $2}' | xargs kill -9
ps -ef | grep "qbittorrent_worker.py" | grep -v grep | awk '{print $2}' | xargs kill -9
+9 -6
View File
@@ -14,13 +14,14 @@ install_tmp=${rootPath}/tmp/bt_install.pl
Install_mac_ffmpeg()
{
if [ ! -f $serverPath/source/ffmpeg-20180702-3c4af57-macos64-static.zip ];then
wget -O $serverPath/source/ffmpeg-20180702-3c4af57-macos64-static.zip https://ffmpeg.zeranoe.com/builds/macos64/static/ffmpeg-20180702-3c4af57-macos64-static.zip
macVer='ffmpeg-20200721-b5f1e05-macos64-static'
if [ ! -f $serverPath/source/${macVer}.zip ];then
wget -O $serverPath/source/${macVer}.zip https://ffmpeg.zeranoe.com/builds/macos64/static/${macVer}.zip
fi
if [ ! -d $serverPath/lib/ffmpeg ];then
cd $serverPath/source && tar -xvf $serverPath/source/ffmpeg-20180702-3c4af57-macos64-static.zip
mv ffmpeg-20180702-3c4af57-macos64-static $serverPath/lib/ffmpeg
cd $serverPath/source && unzip $serverPath/source/${macVer}.zip
mv ${macVer} $serverPath/lib/ffmpeg
fi
}
@@ -32,7 +33,8 @@ Install_linux_ffmpeg()
if [ ! -d $serverPath/lib/ffmpeg ];then
cd $serverPath/source && tar -xvf $serverPath/source/ffmpeg-release-amd64-static.tar.xz
mv ffmpeg-4.1.2-amd64-static $serverPath/lib/ffmpeg
#mkdir -p $serverPath/lib/ffmpeg
mv ffmpeg-4.3-amd64-static $serverPath/lib/ffmpeg
fi
}
@@ -47,7 +49,8 @@ Install_qbittorrent()
Install_linux_ffmpeg
fi
pip install python-qbittorrent==0.2
# pip install python-qbittorrent==0.4.2
pip install python-qbittorrent==0.3
echo '正在安装脚本文件...' > $install_tmp
mkdir -p $serverPath/qbittorrent
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -101,9 +101,11 @@ MAX_ACTIVE_TORRENTS = cp.getint(section_setting, "MAX_ACTIVE_TORRENTS")
MAX_ACTIVE_DOWNLOADS = cp.getint(section_setting, "MAX_ACTIVE_DOWNLOADS")
rooDir = getRootDir()
ffmpeg_cmd = rooDir + "/lib/ffmpeg/ffmpeg"
if not os.path.exists(ffmpeg_cmd):
ffmpeg_cmd = rooDir + "/lib/ffmpeg/bin/ffmpeg"
tmp_cmd = rooDir + "/lib/ffmpeg/ffmpeg"
if os.path.exists(tmp_cmd):
ffmpeg_cmd = tmp_cmd
else:
ffmpeg_cmd = "/usr/local/bin/ffmpeg"
class downloadBT(Thread):
@@ -126,6 +128,7 @@ class downloadBT(Thread):
has_suffix.append('.' + _has_suffix[x])
has_suffix.append('.' + _has_suffix[x].upper())
self.has_suffix = has_suffix
self.__conn()
def __conn(self):
try:
@@ -139,6 +142,10 @@ class downloadBT(Thread):
self.__db_err = e
return False
def __check(self):
if self.__db_err:
sys.exit('未连接数据库!')
def __close(self):
self.dbcurr.close()
self.dbconn.close()
@@ -162,10 +169,12 @@ class downloadBT(Thread):
if not self.__conn():
return self.__db_err
try:
result = self.dbcurr.execute(sql)
self.dbcurr.execute(sql)
self.dbcurr.execute('SELECT LAST_INSERT_ID();')
result = self.dbcurr.fetchone()
self.dbconn.commit()
self.__close()
return result
return result[0]
except Exception, ex:
return ex
@@ -286,21 +295,22 @@ class downloadBT(Thread):
print 'file_sync... end'
def ffmpeg_del_file(self, mp4, ts, m3u8_dir):
print self.debug('delete middle file ... start' + mp4)
print self.debug('delete middle file ... start ' + mp4)
self.execShell('rm -rf ' + mp4)
self.execShell('rm -rf ' + ts)
print self.debug('delete middle file ... end ' + ts)
if os.path.exists(m3u8_dir):
self.execShell('rm -rf ' + m3u8_dir)
print self.debug('delete middle file ... end' + ts)
# if os.path.exists(m3u8_dir):
# self.execShell('rm -rf ' + m3u8_dir)
def ffmpeg_del_hfile(self, shash_dir):
print self.debug('delete middle hash dir ... start' + shash_dir)
if os.path.exists(shash_dir):
self.execShell('rm -rf ' + shash_dir)
pass
# print self.debug('delete middle hash dir ... start ' + shash_dir)
print self.debug('delete middle hash dir ... end' + shash_dir)
# if os.path.exists(shash_dir):
# self.execShell('rm -rf ' + shash_dir)
# print self.debug('delete middle hash dir ... end ' + shash_dir)
def ffmpeg(self, file=''):
if not os.path.exists(FILE_TRANSFER_TO):
@@ -385,13 +395,13 @@ class downloadBT(Thread):
if os.path.exists(m3u8_file):
print self.debug('m3u8 exists:' + tofile)
self.ffmpeg_file_sync()
self.ffmpeg_del_file(mp4file, tsfile, m3u8_dir)
return
cmd_m3u8 = self.fg_m3u8_cmd(tsfile, m3u8_file, tofile)
print self.debug('cmd_m3u8:' + cmd_m3u8)
os.system(cmd_m3u8)
if TASK_DEBUG == 0:
self.ffmpeg_file_sync()
self.ffmpeg_del_file(mp4file, tsfile, m3u8_dir)
else:
cmd_m3u8 = self.fg_m3u8_cmd(tsfile, m3u8_file, tofile)
print self.debug('cmd_m3u8:' + cmd_m3u8)
os.system(cmd_m3u8)
try:
self.add_hash(fname, md5Fname)
@@ -402,8 +412,9 @@ class downloadBT(Thread):
FILE_GROUP + ' ' + m3u8_dir)
self.execShell('chmod -R 755 ' + m3u8_dir)
self.ffmpeg_file_sync()
self.ffmpeg_del_file(mp4file, tsfile, m3u8_dir)
if TASK_DEBUG == 0:
self.ffmpeg_file_sync()
self.ffmpeg_del_file(mp4file, tsfile, m3u8_dir)
def get_bt_size(self, torrent):
total_size = '0'
@@ -426,11 +437,11 @@ class downloadBT(Thread):
info = self.query(
"select id from pl_hash_list where info_hash='" + shash + "'")
if len(info) > 0:
pid = str(info[0][0])
pid = info[0][0]
else:
print 'insert into pl_hash_list data'
pid = self.execute("insert into pl_hash_list (`name`,`info_hash`,`length`,`create_time`) values('" +
sname + "','" + shash + "','" + total_size + "','" + ct + "')")
sname + "','" + shash + "','" + total_size + "','" + str(ct) + "')")
return pid
def set_hashlist_status(self, torrent, status):
@@ -457,11 +468,11 @@ class downloadBT(Thread):
ct = formatTime()
info = self.query(
"select id from pl_hash_file where name='" + fname + "' and pid='" + pid + "'")
"select id from pl_hash_file where name='" + fname + "' and pid='" + str(pid) + "'")
if len(info) == 0:
print 'insert into pl_hash_file data !'
fid = self.execute("insert into pl_hash_file (`pid`,`name`,`m3u8`,`create_time`) values('" +
pid + "','" + fname + "','" + m3u8_name + "','" + ct + "')")
str(pid) + "','" + fname + "','" + m3u8_name + "','" + ct + "')")
else:
print fname, ':', m3u8_name, 'already is exists!'
fid = str(info[0][0])
@@ -487,10 +498,11 @@ class downloadBT(Thread):
print '-------------------------add_hash---start-----------------------'
pid = self.get_hashlist_id()
fid = self.get_hashfile_id(fname, m3u8_name, pid)
fid = 0
if pid:
fid = self.get_hashfile_id(fname, m3u8_name, pid)
print '-------------------------add_hash---end--------------------------'
return fid
def file_arr(self, path, filters=['.DS_Store']):
@@ -609,6 +621,7 @@ class downloadBT(Thread):
def check_task(self):
while True:
self.__check()
torrents = self.qb.torrents(filter='downloading')
tlen = len(torrents)
if tlen > 0:
@@ -631,8 +644,10 @@ class downloadBT(Thread):
def completed(self):
while True:
self.__check()
torrents = self.qb.torrents(filter='completed')
if not torrents:
continue
tlen = len(torrents)
print "completed torrents count:", tlen
if tlen > 0:
@@ -644,8 +659,8 @@ class downloadBT(Thread):
self.video_do(path)
hash_dir = self.get_transfer_hash_dir(torrent['hash'])
self.ffmpeg_del_hfile(hash_dir)
if TASK_DEBUG == 0:
self.ffmpeg_del_hfile(hash_dir)
self.qb.delete_permanently(torrent['hash'])
except Exception as e:
print formatTime(), str(e)
+3 -1
View File
@@ -34,7 +34,9 @@ slave-priority 100
################################### LIMITS ####################################
maxclients 10000
maxmemory-samples 3
#maxmemory-samples 3
maxmemory 218mb
maxmemory-policy volatile-ttl
############################## APPEND ONLY MODE ###############################
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2019 Mr Chen
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

+20
View File
@@ -0,0 +1,20 @@
<div class="bt-form">
<div class="bt-w-main">
<div class="bt-w-menu">
<p class="bgw" onclick="pluginService('socket5');">服务</p>
<p onclick="pluginInitD('socket5');">自启动</p>
<p onclick="pluginConfig('socket5',null, 'conf');">配置</p>
<p onclick="pluginConfig('socket5',null, 'conf_pwd');">用户</p>
<p onclick="pluginConfig('socket5',null, 'conf_port');">端口</p>
<p onclick="readme();">说明</p>
</div>
<div class="bt-w-con pd15">
<div class="soft-man-con"></div>
</div>
</div>
</div>
<script type="text/javascript">
$.getScript( "/plugins/file?name=socket5&f=js/socket5.js", function(){
pluginService('socket5');
});
</script>
+207
View File
@@ -0,0 +1,207 @@
# coding:utf-8
import sys
import io
import os
import time
import shutil
sys.path.append(os.getcwd() + "/class/core")
import mw
app_debug = False
if mw.isAppleSystem():
app_debug = True
def getPluginName():
return 'socket5'
def getPluginDir():
return mw.getPluginDir() + '/' + getPluginName()
def getServerDir():
return mw.getServerDir() + '/' + getPluginName()
def getInitDFile():
if app_debug:
return '/tmp/' + getPluginName()
return '/etc/init.d/ss5'
def initDreplace():
return getPluginDir() + '/init.d/ss5'
def getArgs():
args = sys.argv[2:]
tmp = {}
args_len = len(args)
if args_len == 1:
t = args[0].strip('{').strip('}')
t = t.split(':')
tmp[t[0]] = t[1]
elif args_len > 1:
for i in range(len(args)):
t = args[i].split(':')
tmp[t[0]] = t[1]
return tmp
def checkArgs(data, ck=[]):
for i in range(len(ck)):
if not ck[i] in data:
return (False, mw.returnJson(False, '参数:(' + ck[i] + ')没有!'))
return (True, mw.returnJson(True, 'ok'))
def status():
cmd = "ps -ef|grep ss5 |grep -v grep | grep -v python | awk '{print $2}'"
data = mw.execShell(cmd)
if data[0] == '':
return 'stop'
return 'start'
def initConf():
ss5_conf = getServerDir() + '/ss5.conf'
if not os.path.exists(ss5_conf):
tmp = getPluginDir() + '/tmp/ss5.conf'
if not os.path.exists(tmp):
mw.execShell('cp -rf ' + tmp + ' /etc/opt/ss5')
mw.execShell('cp -rf ' + tmp + ' ' + getServerDir())
init_file = '/etc/init.d/ss5'
if os.path.exists(init_file):
mw.execShell('chmod +x ' + init_file)
ss5_pwd = getServerDir() + '/ss5.passwd'
if not os.path.exists(ss5_pwd):
tmp = getPluginDir() + '/tmp/ss5.passwd'
if not os.path.exists(tmp):
mw.execShell('cp -rf ' + tmp + ' /etc/opt/ss5')
mw.execShell('cp -rf ' + tmp + ' ' + getServerDir())
def start():
initConf()
if mw.isAppleSystem():
return "Apple Computer does not support"
data = mw.execShell('service ss5 start')
if data[1] == '':
return 'ok'
return data[1]
def stop():
if mw.isAppleSystem():
return "Apple Computer does not support"
data = mw.execShell('service ss5 stop')
if data[1] == '':
return 'ok'
return data[1]
def restart():
if mw.isAppleSystem():
return "Apple Computer does not support"
data = mw.execShell('service ss5 restart')
if data[1] == '':
return 'ok'
return data[1]
def reload():
data = mw.execShell('service ss5 reload')
if data[1] == '':
return 'ok'
return data[1]
def getPathFile():
if mw.isAppleSystem():
return getServerDir() + '/ss5.conf'
return '/etc/opt/ss5/ss5.conf'
def getPathFilePwd():
if mw.isAppleSystem():
return getServerDir() + '/ss5.passwd'
return '/etc/opt/ss5/ss5.passwd'
def getPathFilePort():
return '/etc/sysconfig/ss5'
def initdStatus():
if not app_debug:
if mw.isAppleSystem():
return "Apple Computer does not support"
initd_bin = getInitDFile()
if os.path.exists(initd_bin):
return 'ok'
return 'fail'
def initdInstall():
import shutil
if not app_debug:
if mw.isAppleSystem():
return "Apple Computer does not support"
source_bin = initDreplace()
initd_bin = getInitDFile()
shutil.copyfile(source_bin, initd_bin)
mw.execShell('chmod +x ' + initd_bin)
mw.execShell('chkconfig --add ' + getPluginName())
return 'ok'
def initdUinstall():
if not app_debug:
if mw.isAppleSystem():
return "Apple Computer does not support"
mw.execShell('chkconfig --del ' + getPluginName())
initd_bin = getInitDFile()
os.remove(initd_bin)
return 'ok'
if __name__ == "__main__":
func = sys.argv[1]
if func == 'status':
print status()
elif func == 'start':
print start()
elif func == 'stop':
print stop()
elif func == 'restart':
print restart()
elif func == 'reload':
print reload()
elif func == 'conf':
print getPathFile()
elif func == 'conf_pwd':
print getPathFilePwd()
elif func == 'conf_port':
print getPathFilePort()
elif func == 'initd_status':
print initdStatus()
elif func == 'initd_install':
print initdInstall()
elif func == 'initd_uninstall':
print initdUinstall()
else:
print 'error'
+14
View File
@@ -0,0 +1,14 @@
{
"title":"socket5",
"tip":"soft",
"name":"socket5",
"type":"运行环境",
"ps":"socket5",
"versions":"1.0",
"shell":"install.sh",
"checks":"server/socket5",
"author":"midoks",
"home":"https://github.com/teddysun/across/blob/master/socket5.sh",
"date":"2021-01-29",
"pid": "4"
}
+83
View File
@@ -0,0 +1,83 @@
#!/bin/sh
#
# chkconfig: 345 20 80
# description: This script takes care of starting \
# and stopping ss5
#
OS=`uname -s`
if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
[ -f /usr/sbin/ss5 ] || exit 0
fi
# Test custom variables
test -f /etc/sysconfig/ss5 && . /etc/sysconfig/ss5
# See how we were called.
case "$1" in
start)
# Start daemon.
echo -n "Starting ss5... "
if [ $OS = "Linux" ]; then
daemon /usr/sbin/ss5 -t $SS5_OPTS
touch /var/lock/subsys/ss5
else
if [ $OS = "SunOS" ]; then
/usr/sbin/ss5 -t
touch /var/lock/subsys/ss5
else
/usr/local/sbin/ss5 -t
fi
fi
echo "done"
;;
stop)
# Stop daemon.
echo "Shutting down ss5... "
if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then
killproc ss5
rm -f /var/lock/subsys/ss5
else
killall ss5
fi
rm -f /var/run/ss5/ss5.pid
echo "done"
;;
reload)
# Reload configuration
if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then
echo -n "Reloading ss5... "
killproc ss5 -1
else
pkill -HUP ss5
fi
echo "done reload"
;;
restart)
# Restart daemon
echo -n "Restarting ss5... "
$0 stop
$0 start
;;
status)
if [ $OS = "Linux" ] || [ $OS = "SunOS" ]; then
status ss5
fi
;;
*)
echo "Usage: ss5 {start|stop|status|restart|reload}"
exit 1
;;
esac
exit 0
+49
View File
@@ -0,0 +1,49 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
install_tmp=${rootPath}/tmp/mw_install.pl
SYSOS=`uname`
Install_socket5()
{
yum -y install gcc automake make pam-devel openldap-devel cyrus-sasl-devel
isStart=""
echo '正在安装脚本文件...' > $install_tmp
mkdir -p $serverPath/source
mkdir -p $serverPath/socket5
if [ ! -f $serverPath/source/ss5-3.8.9-8.tar.gz ];then
wget -O $serverPath/source/ss5-3.8.9-8.tar.gz http://downloads.sourceforge.net/project/ss5/ss5/3.8.9-8/ss5-3.8.9-8.tar.gz
fi
echo '1.0' > $serverPath/socket5/version.pl
cd $serverPath/source && tar -xzvf ss5-3.8.9-8.tar.gz
cd $serverPath/source/ss5-3.8.9 && ./configure && make && make install
echo 'install complete' > $install_tmp
}
Uninstall_socket5()
{
rm -rf $serverPath/socket5
rm -rf /usr/sbin/ss5
service ss5 stop
rm -rf /etc/init.d/ss5
echo "Uninstall completed" > $install_tmp
}
action=$1
if [ "${1}" == 'install' ];then
Install_socket5
else
Uninstall_socket5
fi
+57
View File
@@ -0,0 +1,57 @@
function str2Obj(str){
var data = {};
kv = str.split('&');
for(i in kv){
v = kv[i].split('=');
data[v[0]] = v[1];
}
return data;
}
function lpPost(method,args,callback, title){
var _args = null;
if (typeof(args) == 'string'){
_args = JSON.stringify(str2Obj(args));
} else {
_args = JSON.stringify(args);
}
var _title = '正在获取...';
if (typeof(title) != 'undefined'){
_title = title;
}
var loadT = layer.msg(_title, { icon: 16, time: 0, shade: 0.3 });
$.post('/plugins/run', {name:'l2tp', func:method, args:_args}, function(data) {
layer.close(loadT);
if (!data.status){
layer.msg(data.msg,{icon:0,time:2000,shade: [0.3, '#000']});
return;
}
if(typeof(callback) == 'function'){
callback(data);
}
},'json');
}
function lpAsyncPost(method,args){
var _args = null;
if (typeof(args) == 'string'){
_args = JSON.stringify(str2Obj(args));
} else {
_args = JSON.stringify(args);
}
var loadT = layer.msg('正在获取...', { icon: 16, time: 0, shade: 0.3 });
return syncPost('/plugins/run', {name:'l2tp', func:method, args:_args});
}
function readme(){
var readme = '<ul class="help-info-text c7">';
readme += '<li>默认需开放端口:UDP:1080</li>';
readme += '<li><a href="https://github.com/midoks/mdserver-web/wiki/%E6%8F%92%E4%BB%B6%E7%AE%A1%E7%90%86%5BSOCK5%5D">参考</a></li>';
readme += '</ul>';
$('.soft-man-con').html(readme);
}
+8
View File
@@ -0,0 +1,8 @@
# 无用户配置
auth 0.0.0.0/0 - -
permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
# 用户配置
#auth 0.0.0.0/0 - u
#permit - 0.0.0.0/0 - 0.0.0.0/0 - - - - -
+1
View File
@@ -0,0 +1 @@
test test
+1
View File
@@ -188,6 +188,7 @@ function pRead(){
readme += '<li>使用默认solr端口,如有需要自行修改</li>';
readme += '<li>如果开启防火墙,需要放行solr设置的端口,例如(8983)</li>';
readme += '<li>数据源设置好后,需要在managed-schema中同时设置</li>';
readme += '<li>优化索引段:curl --basic -u admin:admin "http://127.0.0.1:8983/solr/project/update?optimize=true&wt=json"</li>';
readme += '<li><a target="_blank" href="https://github.com/midoks/mdserver-web/wiki/插件管理%5Bsolr使用说明%5D">wiki说明</a></li>';
readme += '</ul>';
Binary file not shown.

After

Width:  |  Height:  |  Size: 468 B

+25
View File
@@ -0,0 +1,25 @@
<div class="bt-form">
<div class="bt-w-main">
<div class="bt-w-menu">
<p class="bgw" onclick="pluginService('swap');">服务</p>
<p onclick="pluginInitD('swap');">自启动</p>
<!-- <p onclick="pluginConfig('swap');">配置修改</p> -->
<p onclick="readme();">说明</p>
</div>
<div class="bt-w-con pd15">
<div class="soft-man-con"></div>
</div>
</div>
</div>
<script type="text/javascript">
pluginService('swap');
function readme(){
var readme = '<ul class="help-info-text c7">';
readme += '<li>dd if=/dev/zero of=/swapfile bs=1M count=2048</li>';
readme += '<li>mkswap /swapfile</li>';
readme += '</ul>';
$('.soft-man-con').html(readme);
}
</script>
+179
View File
@@ -0,0 +1,179 @@
# coding:utf-8
import sys
import io
import os
import time
sys.path.append(os.getcwd() + "/class/core")
import mw
app_debug = False
if mw.isAppleSystem():
app_debug = True
def getPluginName():
return 'swap'
def getPluginDir():
return mw.getPluginDir() + '/' + getPluginName()
def getServerDir():
return mw.getServerDir() + '/' + getPluginName()
def getInitDFile():
if app_debug:
return '/tmp/' + getPluginName()
return '/etc/init.d/' + getPluginName()
def getConf():
path = getPluginDir() + "/config/redis.conf"
return path
def getInitDTpl():
path = getPluginDir() + "/init.d/" + getPluginName() + ".tpl"
return path
def getArgs():
args = sys.argv[2:]
tmp = {}
args_len = len(args)
if args_len == 1:
t = args[0].strip('{').strip('}')
t = t.split(':')
tmp[t[0]] = t[1]
elif args_len > 1:
for i in range(len(args)):
t = args[i].split(':')
tmp[t[0]] = t[1]
return tmp
def status():
data = mw.execShell("free -m|grep Swap|awk '{print $2}'")
if data[0].strip() == '0':
return 'stop'
return 'start'
def getInitDTpl():
path = getPluginDir() + "/init.d/" + getPluginName() + ".tpl"
return path
def initDreplace():
file_tpl = getInitDTpl()
service_path = os.path.dirname(os.getcwd())
initD_path = getServerDir() + '/init.d'
if not os.path.exists(initD_path):
os.mkdir(initD_path)
file_bin = initD_path + '/' + getPluginName()
# initd replace
content = mw.readFile(file_tpl)
content = content.replace('{$SERVER_PATH}', '/swapfile')
mw.writeFile(file_bin, content)
mw.execShell('chmod +x ' + file_bin)
return file_bin
def start():
file = initDreplace()
data = mw.execShell(file + ' start')
if data[1] == '':
return 'ok'
return 'fail'
def stop():
file = initDreplace()
data = mw.execShell(file + ' stop')
if data[1] == '':
return 'ok'
return 'fail'
def restart():
file = initDreplace()
data = mw.execShell(file + ' restart')
if data[1] == '':
return 'ok'
return 'fail'
def reload():
file = initDreplace()
data = mw.execShell(file + ' reload')
if data[1] == '':
return 'ok'
return 'fail'
def initdStatus():
if not app_debug:
if mw.isAppleSystem():
return "Apple Computer does not support"
initd_bin = getInitDFile()
if os.path.exists(initd_bin):
return 'ok'
return 'fail'
def initdInstall():
import shutil
if not app_debug:
if mw.isAppleSystem():
return "Apple Computer does not support"
source_bin = initDreplace()
initd_bin = getInitDFile()
shutil.copyfile(source_bin, initd_bin)
mw.execShell('chmod +x ' + initd_bin)
mw.execShell('chkconfig --add ' + getPluginName())
return 'ok'
def initdUinstall():
if not app_debug:
if mw.isAppleSystem():
return "Apple Computer does not support"
mw.execShell('chkconfig --del ' + getPluginName())
initd_bin = getInitDFile()
os.remove(initd_bin)
return 'ok'
if __name__ == "__main__":
func = sys.argv[1]
if func == 'status':
print status()
elif func == 'start':
print start()
elif func == 'stop':
print stop()
elif func == 'restart':
print restart()
elif func == 'reload':
print reload()
elif func == 'initd_status':
print initdStatus()
elif func == 'initd_install':
print initdInstall()
elif func == 'initd_uninstall':
print initdUinstall()
elif func == 'conf':
print getConf()
else:
print 'error'
+17
View File
@@ -0,0 +1,17 @@
{
"sort": 7,
"ps": "Linux虚拟内存",
"name": "swap",
"title": "swap",
"shell": "install.sh",
"versions":"1.0",
"tip": "soft",
"checks": "server/swap",
"path": "server/swap",
"display": 1,
"author": "midoks",
"date": "2021-01-29",
"home": "swap",
"type": 0,
"pid": "4"
}
+55
View File
@@ -0,0 +1,55 @@
#!/bin/bash
# chkconfig: 2345 55 25
# description: MW Cloud Service
### BEGIN INIT INFO
# Provides: bt
# Required-Start: $all
# Required-Stop: $all
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts mw
# Description: starts the mw
### END INIT INFO
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
app_file={$SERVER_PATH}
app_start(){
isStart=`free -m|grep Swap|awk '{print $2}'`
if [ "$isStart" == '0' ];then
echo -e "Starting swap... \c"
swapon $app_file
echo -e "\033[32mdone\033[0m"
else
echo "Starting swap already running"
fi
}
app_stop()
{
echo -e "Stopping swap... \c";
swapoff $app_file
echo -e "\033[32mdone\033[0m"
}
app_status()
{
isStart=`free -m|grep Swap|awk '{print $2}'`
if [ "$isStart" == '0' ];then
echo -e "\033[32mswap already running\033[0m"
else
echo -e "\033[31mswap not running\033[0m"
fi
}
case "$1" in
'start') app_start;;
'stop') app_stop;;
'restart'|'reload')
app_stop
app_start;;
'status') app_status;;
esac
+45
View File
@@ -0,0 +1,45 @@
#!/bin/bash
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
export PATH
curPath=`pwd`
rootPath=$(dirname "$curPath")
rootPath=$(dirname "$rootPath")
serverPath=$(dirname "$rootPath")
SYSOS=`uname`
install_tmp=${rootPath}/tmp/mw_install.pl
VERSION=$2
Install_swap()
{
echo '正在安装脚本文件...' > $install_tmp
mkdir -p $serverPath/source
mkdir -p $serverPath/swap
echo "${VERSION}" > $serverPath/swap/version.pl
if [ "$sysName" == "Darwin" ];then
pass
else
dd if=/dev/zero of=/swapfile bs=1M count=2048
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
fi
echo '安装完成' > $install_tmp
}
Uninstall_swap()
{
rm -rf $serverPath/swap
echo "Uninstall_swap" > $install_tmp
}
action=$1
if [ "${1}" == 'install' ];then
Install_swap
else
Uninstall_swap
fi

Some files were not shown because too many files have changed in this diff Show More