General options: -h [ --help ] show this usage information --version show version information -f [ --config ] arg configuration file specifying additional options -v [ --verbose ] [=arg(=v)] be more verbose (include multiple times for more verbosity e.g. -vvvvv) --quiet quieter output --port arg specify port number - 27017 by default --bind_ip arg comma separated list of ip addresses to listen on - all local ips by default --ipv6 enable IPv6 support (disabled by default) --maxConns arg max number of simultaneous connections - 1000000 by default --logpath arg log file to send write to instead of stdout - has to be a file, not directory --syslog log to system's syslog facility instead of file or stdout --syslogFacility arg syslog facility used for mongodb syslog message --logappend append to logpath instead of over-writing --logRotate arg set the log rotation behavior (rename|reopen) --timeStampFormat arg Desired format for timestamps in log messages. One of ctime, iso8601-utc or iso8601-local --pidfilepath arg full path to pidfile (if not set, no pidfile is created) --keyFile arg private key for cluster authentication --noauth run without security --setParameter arg Set a configurable parameter --httpinterface enable http interface --clusterAuthMode arg Authentication mode used for cluster authentication. Alternatives are (keyFile|sendKeyFile|sendX509|x509) --nounixsocket disable listening on unix sockets --unixSocketPrefix arg alternative directory for UNIX domain sockets (defaults to /tmp) --filePermissions arg permissions to set on UNIX domain socket file - 0700 by default --fork fork server process --auth run with security --jsonp allow JSONP access via http (has security implications) --rest turn on simple rest api --slowms arg (=100) value of slow for profile and console log --profile arg 0=off 1=slow, 2=all --cpu periodically show cpu and iowait utilization --sysinfo print some diagnostic system information --noIndexBuildRetry don't retry any index builds that were interrupted by shutdown --noscripting disable scripting engine --notablescan do not allow table scans --shutdown kill a running server (for init scripts)
Replication options: --oplogSize arg size to use (in MB) for replication op log. default is 5% of disk space (i.e. large is good)
Master/slave options (old; use replica sets instead): --master master mode --slave slave mode --source arg when slave: specify master as <server:port> --only arg when slave: specify a single database to replicate --slavedelay arg specify delay (in seconds) to be used when applying master ops to slave --autoresync automatically resync if slave data is stale
Replica set options: --replSet arg arg is <setname>[/<optionalseedhostlist >] --replIndexPrefetch arg specify index prefetching behavior (if secondary) [none|_id_only|all] --enableMajorityReadConcern enables majority readConcern
Sharding options: --configsvr declare this is a config db of a cluster; default port 27019; default dir /data/configdb --configsvrMode arg Controls what config server protocol is in use. When set to "sccc" keeps server in legacy SyncClusterConnection mode even when the service is running as a replSet --shardsvr declare this is a shard db of a cluster; default port 27018
SSL options: --sslOnNormalPorts use ssl on configured ports --sslMode arg set the SSL operation mode (disabled|allowSSL|preferSSL|requireSSL ) --sslPEMKeyFile arg PEM file for ssl --sslPEMKeyPassword arg PEM file password --sslClusterFile arg Key file for internal SSL authentication --sslClusterPassword arg Internal authentication key file password --sslCAFile arg Certificate Authority file for SSL --sslCRLFile arg Certificate Revocation List file for SSL --sslDisabledProtocols arg Comma separated list of TLS protocols to disable [TLS1_0,TLS1_1,TLS1_2] --sslWeakCertificateValidation allow client to connect without presenting a certificate --sslAllowConnectionsWithoutCertificates allow client to connect without presenting a certificate --sslAllowInvalidHostnames Allow server certificates to provide non-matching hostnames --sslAllowInvalidCertificates allow connections to servers with invalid certificates --sslFIPSMode activate FIPS 140-2 mode at startup
Storage options: --storageEngine arg what storage engine to use - defaults to wiredTiger if no data files present --dbpath arg directory for datafiles - defaults to /data/db --directoryperdb each database will be stored in a separate directory --noprealloc disable data file preallocation - will often hurt performance --nssize arg (=16) .ns file size (in MB) for new databases --quota limits each database to a certain number of files (8 default) --quotaFiles arg number of files allowed per db, implies --quota --smallfiles use a smaller default file size --syncdelay arg (=60) seconds between disk syncs (0=never, but not recommended) --upgrade upgrade db if needed --repair run repair on all dbs --repairpath arg root directory for repair files - defaults to dbpath --journal enable journaling --nojournal disable journaling (journaling is on by default for 64 bit) --journalOptions arg journal diagnostic options --journalCommitInterval arg how often to group/batch commit (ms)
WiredTiger options: --wiredTigerCacheSizeGB arg maximum amount of memory to allocate for cache; defaults to 1/2 of physical RAM --wiredTigerStatisticsLogDelaySecs arg (=0) seconds to wait between each write to a statistics file in the dbpath; 0 means do not log statistics --wiredTigerJournalCompressor arg (=snappy) use a compressor forlog records [none|snappy|zlib] --wiredTigerDirectoryForIndexes Put indexes and data in different directories --wiredTigerCollectionBlockCompressor arg (=snappy) block compression algorithm for collection data [none|snappy|zlib] --wiredTigerIndexPrefixCompression arg (=1) use prefix compression on row-store leaf pages
创建服务文件
在mongodb/bin目录下创建配置文件mongodb.conf
1 2 3 4 5 6 7 8 9 10 11
[root@snails ~]# cd mongodb/bin [root@snails bin]# vi mongodb.conf #数据文件存放目录 dbpath = /data/mongodata #日志文件存放目录 logpath = /data/log/mongolog/mongodb.log #端口 port = 27017 #以守护程序的方式启用,即在后台运行 fork = true nohttpinterface = true
[root@snails bin]# mongo MongoDB shell version: 3.2.7 connecting to: test Server has startup warnings: 2016-07-07T20:38:09.623+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 15084 processes, 65535 files. Number of processes should be at least 32767.5 : 0.5 times number of files. 2016-07-07T20:38:09.624+0800 I CONTROL [initandlisten] > show dbs local 0.000GB > quit()
消除警告
1 2 3 4 5 6 7 8 9 10
[root@snails bin]# vi /etc/rc.local iftest-f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi iftest-f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi ulimit -u 65535 [root@snails bin]# echo never > /sys/kernel/mm/transparent_hugepage/enabled [root@snails bin]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
文件限制数调整
修改配置文件 /etc/security/limits.conf,添加配置信息:
1 2 3 4
* soft nofile 65535 * hard nofile 65535 * soft nproc 32000 * hard nproc 32000
[root@snails bin]# mongod -f /root/mongodb/bin/mongodb.conf about to fork child process, waiting until server is ready for connections. forked process: 18229 child process started successfully, parent exiting [root@snails bin]# mongo MongoDB shell version: 3.2.7 connecting to: test Server has startup warnings: 2016-07-07T21:06:53.798+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2016-07-07T21:06:53.798+0800 I CONTROL [initandlisten] > exit bye
[root@snails ~]# cd redis [root@snails redis]# make [root@snails redis]# make test [root@snails redis]# make install ``` * 查看安装结果 ``` bash [root@snails redis]# ll /usr/local/bin/redis-*
[root@snails ~]#git clone -b release-branch.go1.4 https://github.com/golang/go.git go
编译并配置环境变量
编译
1 2 3 4 5 6
[root@snails ~]#cd go/src [root@snails ~]#./all.bash ALL TESTS PASSED Installed Go for linux/amd64 in /root/go Installed commands in /root/go/bin *** You need to add /root/go/bin to your PATH.
配置环境变量
1 2 3 4 5 6 7 8
[root@snails ~]#cd ~ && mkdir -p golang/{src,pkg,bin} [root@snails ~]#vi /etc/profile export GOPATH=$HOME/golang export GOROOT=$HOME/go export PATH=$PATH:$GOROOT/bin [root@snails ~]# source /etc/profile [root@snails ~]# go version go version go1.4.3 linux/amd64
更新go版本再次编译
更新go版本
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
[root@snails ~]# mv go go-bootstrap [root@snails ~]# git clone https://github.com/golang/go.git [root@snails ~]# cd go ``` * 再次编译 ``` bash [root@snails go]# vi /etc/profile export GOROOT_BOOTSTRAP=$HOME/go-bootstrap [root@snails go]# source /etc/profile [root@snails go]# cd src/ [root@snails src]# ./clean.bash [root@snails src]# ./all.bash ``` ## 实践验证 ``` bash [root@snails src]# go version go version devel +d872201 Thu Jul 7 04:06:52 2016 +0000 linux/amd64
# Site title: 技术资料分享小站 subtitle: 点滴积累,细细回味。 description: 编程技术总结与分享,记录在工作中的技术实践。 author: Tonny Luo language: zh-CN timezone:
# URL ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/' url: http://luohoufu.github.io/ root: / permalink: :year/:month/:day/:title/ permalink_defaults:
# Writing new_post_name: :title.md # File name of new posts default_layout: post titlecase: false # Transform title into titlecase external_link: true # Open external links in new tab filename_case: 0 render_drafts: false post_asset_folder: false relative_link: false future: true highlight: enable: true line_number: true auto_detect: false tab_replace:
# Category & Tag default_category: uncategorized category_map: tag_map: # Date / Time format ## Hexo uses Moment.js to parse and display date ## You can customize the date format as defined in ## http://momentjs.com/docs/#/displaying/format/ date_format: YYYY-MM-DD time_format: HH:mm:ss
# Pagination ## Set per_page to 0 to disable pagination per_page: 10 pagination_dir: page
##### Menu menu: 主页: / 归档: /archives 简介: /about ## 标签: /tags ## 目录: /categories ## you can create `tags` and `categories` folders in `../source`. ## And create a `index.md` file in each of them. ## set `front-matter`as ## layout: tags (or categories) ## title: tags (or categories) ## ---
#### Image imglogo: enable: true ## display image logo true/false. src: img/logo.png ## `.svg` and `.png` are recommended,please put image into the theme folder `/jacman/source/img`. favicon: img/favicon.ico ## size:32px*32px,`.ico` is recommended,please put image into the theme folder `/jacman/source/img`. apple_icon: img/jacman.jpg ## size:114px*114px,please put image into the theme folder `/jacman/source/img`. author_img: img/author.jpg ## size:220px*220px.display author avatar picture.if don't want to display,please don't set this. banner_img: #img/banner.jpg ## size:1920px*200px+. Banner Picture ### Theme Color default is #2ca6cb theme_color: theme: '#2ca6cb' ##the defaut theme color is blue
# 代码高亮主题 # available: default | night highlight_theme: default
#### index post is expanding or not index: expand: true ## default is unexpanding,so you can only see the short description of each post. excerpt_link: Read More close_aside: false #close sidebar in post page if true mathjax: false #enable mathjax if true
### Creative Commons License Support, see http://creativecommons.org/ ### you can choose: by , by-nc , by-nc-nd , by-nc-sa , by-nd , by-sa , zero creative_commons: none
#### Author information author: intro_line1: "爱编程的小伙" ## your introduction on the bottom of the page intro_line2: "不想做程序猿的架构师不是好的产品经理" ## the 2nd line weibo: u/5666590322 ## e.g. wuchong1014 or 2176287895 for http://weibo.com/2176287895 weibo_verifier: cd999d13 ## e.g. b3593ceb Your weibo-show widget verifier ,if you use weibo-show it is needed. tsina: 5666590322 ## e.g. 2176287895 Your weibo ID,It will be used in share button. douban: 142251737 ## e.g. wuchong1014 or your id for https://www.douban.com/people/wuchong1014 zhihu: ## e.g. jark for http://www.zhihu.com/people/jark email: luohoufu@163.com ## e.g. imjark@gmail.com twitter: ## e.g. jarkwu for https://twitter.com/jarkwu github: luohoufu ## e.g. wuchong for https://github.com/wuchong facebook: ## e.g. imjark for https://facebook.com/imjark linkedin: luohoufu ## e.g. wuchong1014 for https://www.linkedin.com/in/wuchong1014 google_plus: ## e.g. "111190881341800841449" for https://plus.google.com/u/0/111190881341800841449, the "" is needed! stackoverflow: ## e.g. 3222790 for http://stackoverflow.com/users/3222790/jark ## if you set them, the corresponding share button will show on the footer
#### Toc toc: article: true ## show contents in article. aside: true ## show contents in aside. ## you can set both of the value to true of neither of them. ## if you don't want display contents in a specified post,you can modify `front-matter` and add `toc: false`.
#### Comment duoshuo_shortname: ## e.g. wuchong your duoshuo short name. disqus_shortname: ## e.g. wuchong your disqus short name.
#### Share button jiathis: enable: false ## if you use jiathis as your share tool,the built-in share tool won't be display. id: ## e.g. 1889330 your jiathis ID. tsina: ## e.g. 2176287895 Your weibo id,It will be used in share button.
#### Analytics google_analytics: enable: false id: ## e.g. UA-46321946-2 your google analytics ID. site: ## e.g. wuchong.me your google analytics site or set the value as auto. ## You MUST upgrade to Universal Analytics first! ## https://developers.google.com/analytics/devguides/collection/upgrade/?hl=zh_CN baidu_tongji: enable: true sitecode: dd09496f0b593221f4326d64011cab ## e.g. e6d1f421bbc9962127a50488f9ed37d1 your baidu tongji site code cnzz_tongji: enable: false siteid: ## e.g. 1253575964 your cnzz tongji site id
#### Miscellaneous ShowCustomFont: true ## you can change custom font in `variable.styl` and `font.styl` which in the theme folder `/jacman/source/css`. fancybox: true ## if you use gallery post or want use fancybox please set the value to true. totop: true ## if you want to scroll to top in every post set the value to true
#### Custom Search google_cse: enable: false cx: ## e.g. 018294693190868310296:abnhpuysycw your Custom Search ID. ## https://www.google.com/cse/ ## To enable the custom search You must create a "search" folder in '/source' and a "index.md" file ## set the 'front-matter' as ## layout: search ## title: search ## --- baidu_search: ## http://zn.baidu.com/ enable: false id: ## e.g. "783281470518440642" for your baidu search id site: http://zhannei.baidu.com/cse/search ## your can change to your site instead of the default site
tinysou_search: ## http://tinysou.com/ enable: false id: ## e.g. "4ac092ad8d749fdc6293" for your tiny search id