centos7安装jdk,tomcat,nginx,redis,fastDFS的步骤

centos7安装jdk,tomcat,nginx,redis,fastDFS的步骤*

1.linux****安装****jdk**

1.1安装配置:

cd /usr

rz tar -zxvf jdk-8u73-linux-x64.tar.gz

mv jdk1.8.0_73 jdk8

1、 全局配置 vi /etc/profile

image.png

export JAVA_HOME=/usr/jdk8

export JAVA_BIN=/usr/jdk8/bin

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME JAVA_BIN PATH CLASSPATH

立即生效,执行

source /etc/profile

1.2、重启测试

java -version

屏幕输出:

[root@localhost usr]# java -version

openjdk version "1.8.0_131"

OpenJDK Runtime Environment (build 1.8.0_131-b12)

OpenJDK 64-Bit Server VM (build 25.131-b12, mixed mode)

2.linux****安装****tomcat

2.1安装配置:

cd /usr/local

rz

tar -zxvf apache-tomcat-8.0.33.tar.gz

mv apache-tomcat-8.0.33 tomcat

cd /tomcat/bin

2.2 启动tomcat:

[root@localhost bin]# ./startup.sh

Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME: /usr/jdk8

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

[root@localhost bin]# ./shutdown.sh

Using CATALINA_BASE: /usr/local/tomcat

Using CATALINA_HOME: /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME: /usr/jdk8

Using CLASSPATH: /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

3.linux****安装****redis

3.1安装配置

cd /usr/local

rz

tar redis-4.0.9.tar.gz

cd redis-4.0.9 make

cd src make install

CC redis-cli.o

LINK redis-cli

CC redis-benchmark.o

LINK redis-benchmark

INSTALL redis-check-rdb

INSTALL redis-check-aof

Hint: It's a good idea to run 'make test' ;)

make[1]: 离开目录“/usr/local/redis-4.0.9/src”

[root@localhost redis-4.0.9]# cd src/

[root@localhost src]# make install

CC Makefile.dep

Hint: It's a good idea to run 'make test' ;)

INSTALL install

INSTALL install

INSTALL install

INSTALL install

INSTALL install

[root@localhost src]#

配置修改:

image.png

image.png

3.2启动redis

[root@localhost src]# ./redis-server /usr/local/redis/redis.conf

9125:C 25 Apr 17:50:28.770 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo

9125:C 25 Apr 17:50:28.770 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=9125, just started

9125:C 25 Apr 17:50:28.770 # Warning: no config file specified, using the default config. In order to specify a config file use ./redis-server /path/to/redis.conf

9125:M 25 Apr 17:50:28.771 * Increased maximum number of open files to 10032 (it was originally set to 1024).

.

.-``_ ''-._

.-`` .. ''-._ Redis 4.0.9 (00000000/0) 64 bit

.-`` .-./ ., ''-._

( ' , .-|, ) Running in standalone mode

|-._-...-__...-.``-._|' _.-'| Port: 6379

| -._._ / _.-' | PID: 9125

-._-._ `-./ _.-' _.-'

|-._-._ `-.__.-' .-'.-'|

| -._-._ .-'.-' | http://redis.io

-._-.`-..-'.-' _.-'

|-._-._ `-.__.-' .-'.-'|

| -._-._ .-'.-' |

-._-.`-..-'.-' _.-'

-._-.__.-' _.-'

`-._ _.-'

`-.__.-'

9125:M 25 Apr 17:50:28.771 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.

9125:M 25 Apr 17:50:28.771 # Server initialized

9125:M 25 Apr 17:50:28.771 # WARNING overcommit_memory is set to 0! Background save may fail under low memory condition. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

9125:M 25 Apr 17:50:28.771 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.

9125:M 25 Apr 17:50:28.771 * Ready to accept connections

3.3启动redis客户端测试:

[root@bogon bin]# redis-cli

127.0.0.1:6379> set key "value"

OK

127.0.0.1:6379> get key

"value"

127.0.0.1:6379> exit

[root@bogon bin]# netstat -tunpl|grep 6379

tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 9125/./redis-server

tcp6 0 0 :::6379 :::* LISTEN 9125/./redis-server

3.4关闭客户端

[root@bogon bin]# redis-cli shutdown

[root@bogon bin]# netstat -tunpl|grep 6379

3.5关闭服务器

[root@localhost bin]# ps -ef |grep redis

root 9644 9310 0 18:21 pts/0 00:00:00 redis-server *:6379

root 9675 4170 0 18:23 pts/1 00:00:00 grep --color=auto redis

[root@localhost bin]# netstat -tunpl |grep 6379

tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 9644/redis-server *

tcp6 0 0 :::6379 :::* LISTEN 9644/redis-server *

[root@localhost bin]# redis-cli

127.0.0.1:6379>

127.0.0.1:6379>

127.0.0.1:6379> exit

[root@localhost bin]# netstat -tunpl |grep 6379

tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 9644/redis-server *

tcp6 0 0 :::6379 :::* LISTEN 9644/redis-server *

[root@localhost bin]# netstat -tunpl |grep 6379

tcp 0 0 0.0.0.0:6379 0.0.0.0:* LISTEN 9644/redis-server *

tcp6 0 0 :::6379 :::* LISTEN 9644/redis-server *

[root@localhost bin]# pkill redis-server

[root@localhost bin]# netstat -tunpl |grep 6379

[root@localhost bin]# redis-cli

Could not connect to Redis at 127.0.0.1:6379: Connection refused

Could not connect to Redis at 127.0.0.1:6379: Connection refused

not connected>

4.linux****安装****fastdfs

4.1下载libfastcommon 网址https://github.com/happyfish100/fastdfs/releases

4.2解压libfastcommon tar.gz包

[root@bogon ~]# tar -zxvf libfastcommon-****1.0.36.tar.gz

[root@bogon ~]# cd libfastcommon-****1.0.36****/

[root@bogon libfastcommon-1.0.36]# cd ..

[root@bogon ~]# mv libfastcommon-****1.0.36 libfastcommon

[root@bogon ~]# ll

总用量 1388

-rw-------. 1 root root 2254 4月 18 22:05 anaconda-ks.cfg

drwxrwxr-x 10 root root 258 4月 26 10:53 fastdfs-5.05

-rw-r--r-- 1 root root 336001 4月 26 10:26 fastdfs-5.05.tar.gz

drwxrwxr-x 10 root root 258 4月 26 11:07 fastdfs-5.09

-rw-r--r-- 1 root root 335132 4月 26 11:04 fastdfs-5.09.tar.gz

-rw-r--r--. 1 root root 2285 4月 18 14:10 initial-setup-ks.cfg

drwxrwxr-x 5 root root 135 4月 5 2017 libfastcommon

-rw-r--r-- 1 root root 434873 4月 26 11:08 libfastcommon-1.0.36.tar.gz

-rw-r--r-- 1 root root 73148 4月 26 10:37 libfastcommon-1.0.7.tar.gz

-rwxr-xr-x 1 root root 174744 4月 26 10:48 libfastcommon.so

-rw-r--r-- 1 root root 45680 4月 25 19:42 libfastcommon_v1.01.tar.gz

drwxr-xr-x 3 27626 users 87 10月 4 2009 src

drwxr-xr-x 2 root root 6 4月 18 19:40 公共

drwxr-xr-x 2 root root 6 4月 18 19:40 模板

drwxr-xr-x 2 root root 6 4月 18 19:40 视频

drwxr-xr-x 2 root root 6 4月 18 19:40 图片

drwxr-xr-x 2 root root 6 4月 18 19:40 文档

drwxr-xr-x 2 root root 6 4月 18 19:40 下载

drwxr-xr-x 2 root root 6 4月 18 19:40 音乐

drwxr-xr-x 2 root root 6 4月 18 19:40 桌面

4.3安装libfastcommon

[root@bogon ~]# cd libfastcommon/

[root@bogon libfastcommon]# ./make

-bash: ./make: 没有那个文件或目录

[root@bogon libfastcommon]# ./make.sh

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o hash.o hash.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o chain.o chain.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o shared_func.o shared_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o ini_file_reader.o ini_file_reader.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o logger.o logger.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o sockopt.o sockopt.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o base64.o base64.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o sched_thread.o sched_thread.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o http_func.o http_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o md5.o md5.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o pthread_func.o pthread_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o local_ip_func.o local_ip_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o avl_tree.o avl_tree.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o ioevent.o ioevent.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o ioevent_loop.o ioevent_loop.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_task_queue.o fast_task_queue.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_timer.o fast_timer.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o process_ctrl.o process_ctrl.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_mblock.o fast_mblock.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o connection_pool.o connection_pool.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_mpool.o fast_mpool.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_allocator.o fast_allocator.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_buffer.o fast_buffer.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o multi_skiplist.o multi_skiplist.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o flat_skiplist.o flat_skiplist.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o system_info.o system_info.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o fast_blocked_queue.o fast_blocked_queue.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o id_generator.o id_generator.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o char_converter.o char_converter.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -o char_convert_loader.o char_convert_loader.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o hash.lo hash.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o chain.lo chain.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o shared_func.lo shared_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o ini_file_reader.lo ini_file_reader.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o logger.lo logger.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o sockopt.lo sockopt.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o base64.lo base64.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o sched_thread.lo sched_thread.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o http_func.lo http_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o md5.lo md5.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o pthread_func.lo pthread_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o local_ip_func.lo local_ip_func.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o avl_tree.lo avl_tree.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o ioevent.lo ioevent.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o ioevent_loop.lo ioevent_loop.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_task_queue.lo fast_task_queue.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_timer.lo fast_timer.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o process_ctrl.lo process_ctrl.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_mblock.lo fast_mblock.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o connection_pool.lo connection_pool.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_mpool.lo fast_mpool.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_allocator.lo fast_allocator.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_buffer.lo fast_buffer.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o multi_skiplist.lo multi_skiplist.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o flat_skiplist.lo flat_skiplist.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o system_info.lo system_info.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o fast_blocked_queue.lo fast_blocked_queue.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o id_generator.lo id_generator.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o char_converter.lo char_converter.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -c -fPIC -o char_convert_loader.lo char_convert_loader.c

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O3 -o libfastcommon.so -shared hash.lo chain.lo shared_func.lo ini_file_reader.lo logger.lo sockopt.lo base64.lo sched_thread.lo http_func.lo md5.lo pthread_func.lo local_ip_func.lo avl_tree.lo ioevent.lo ioevent_loop.lo fast_task_queue.lo fast_timer.lo process_ctrl.lo fast_mblock.lo connection_pool.lo fast_mpool.lo fast_allocator.lo fast_buffer.lo multi_skiplist.lo flat_skiplist.lo system_info.lo fast_blocked_queue.lo id_generator.lo char_converter.lo char_convert_loader.lo -lm -lpthread

ar rcs libfastcommon.a hash.o chain.o shared_func.o ini_file_reader.o logger.o sockopt.o base64.o sched_thread.o http_func.o md5.o pthread_func.o local_ip_func.o avl_tree.o ioevent.o ioevent_loop.o fast_task_queue.o fast_timer.o process_ctrl.o fast_mblock.o connection_pool.o fast_mpool.o fast_allocator.o fast_buffer.o multi_skiplist.o flat_skiplist.o system_info.o fast_blocked_queue.o id_generator.o char_converter.o char_convert_loader.o

[root@bogon libfastcommon]# ./make.sh install

mkdir -p /usr/lib64

mkdir -p /usr/lib

install -m 755 libfastcommon.so /usr/lib64

install -m 755 libfastcommon.so /usr/lib

mkdir -p /usr/include/fastcommon

install -m 644 common_define.h hash.h chain.h logger.h base64.h shared_func.h pthread_func.h ini_file_reader.h _os_define.h sockopt.h sched_thread.h http_func.h md5.h local_ip_func.h avl_tree.h ioevent.h ioevent_loop.h fast_task_queue.h fast_timer.h process_ctrl.h fast_mblock.h connection_pool.h fast_mpool.h fast_allocator.h fast_buffer.h skiplist.h multi_skiplist.h flat_skiplist.h skiplist_common.h system_info.h fast_blocked_queue.h php7_ext_wrapper.h id_generator.h char_converter.h char_convert_loader.h /usr/include/fastcommon

[root@bogon libfastcommon]#

f

4.4安装fastdfs-5.09

[root@bogon ~]# cd fastdfs-5.09/

[root@bogon fastdfs-5.09]# ./make.sh

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_service.o tracker_service.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_status.o tracker_status.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_global.o tracker_global.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_func.o tracker_func.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_nio.o tracker_nio.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_relationship.o tracker_relationship.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_dump.o tracker_dump.c -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -o fdfs_trackerd fdfs_trackerd.c ../common/fdfs_global.o tracker_proto.o tracker_mem.o tracker_service.o tracker_status.o tracker_global.o tracker_func.o fdfs_shared_func.o tracker_nio.o tracker_relationship.o tracker_dump.o -L/usr/lib64 -lpthread -lfastcommon -I../common -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o tracker_client_thread.o tracker_client_thread.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_global.o storage_global.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_func.o storage_func.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_service.o storage_service.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_sync.o storage_sync.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_nio.o storage_nio.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_dio.o storage_dio.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_ip_changed_dealer.o storage_ip_changed_dealer.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_param_getter.o storage_param_getter.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_disk_recovery.o storage_disk_recovery.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o trunk_mgr/trunk_mem.o trunk_mgr/trunk_mem.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o trunk_mgr/trunk_sync.o trunk_mgr/trunk_sync.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o trunk_mgr/trunk_client.o trunk_mgr/trunk_client.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o trunk_mgr/trunk_free_block_checker.o trunk_mgr/trunk_free_block_checker.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o fdht_client/fdht_proto.o fdht_client/fdht_proto.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o fdht_client/fdht_client.o fdht_client/fdht_client.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o fdht_client/fdht_func.o fdht_client/fdht_func.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o fdht_client/fdht_global.o fdht_client/fdht_global.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -c -o storage_dump.o storage_dump.c -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

cc -Wall -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE -g -O -DDEBUG_FLAG -o fdfs_storaged fdfs_storaged.c ../common/fdfs_global.o ../tracker/fdfs_shared_func.o ../tracker/tracker_proto.o tracker_client_thread.o storage_global.o storage_func.o storage_service.o storage_sync.o storage_nio.o storage_dio.o storage_ip_changed_dealer.o storage_param_getter.o storage_disk_recovery.o trunk_mgr/trunk_mem.o trunk_mgr/trunk_shared.o trunk_mgr/trunk_sync.o trunk_mgr/trunk_client.o trunk_mgr/trunk_free_block_checker.o ../client/client_global.o ../client/tracker_client.o ../client/storage_client.o ../client/client_func.o fdht_client/fdht_proto.o fdht_client/fdht_client.o fdht_client/fdht_func.o fdht_client/fdht_global.o storage_dump.o -L/usr/lib64 -lpthread -lfastcommon -I. -Itrunk_mgr -I../common -I../tracker -I../client -Ifdht_client -I/usr/include/fastcommon

make: 对“all”无需做任何事。

[root@bogon fastdfs-5.09]# ./make.sh install

mkdir -p /usr/bin

mkdir -p /etc/fdfs

cp -f fdfs_trackerd /usr/bin

if [ ! -f /etc/fdfs/tracker.conf.sample ]; then cp -f ../conf/tracker.conf /etc/fdfs/tracker.conf.sample; fi

if [ ! -f /etc/fdfs/storage_ids.conf.sample ]; then cp -f ../conf/storage_ids.conf /etc/fdfs/storage_ids.conf.sample; fi

mkdir -p /usr/bin

mkdir -p /etc/fdfs

cp -f fdfs_storaged /usr/bin

if [ ! -f /etc/fdfs/storage.conf.sample ]; then cp -f ../conf/storage.conf /etc/fdfs/storage.conf.sample; fi

mkdir -p /usr/bin

mkdir -p /etc/fdfs

mkdir -p /usr/lib64

mkdir -p /usr/lib

cp -f fdfs_monitor fdfs_test fdfs_test1 fdfs_crc32 fdfs_upload_file fdfs_download_file fdfs_delete_file fdfs_file_info fdfs_appender_test fdfs_appender_test1 fdfs_append_file fdfs_upload_appender /usr/bin

if [ 0 -eq 1 ]; then cp -f libfdfsclient.a /usr/lib64; cp -f libfdfsclient.a /usr/lib/;fi

if [ 1 -eq 1 ]; then cp -f libfdfsclient.so /usr/lib64; cp -f libfdfsclient.so /usr/lib/;fi

mkdir -p /usr/include/fastdfs

cp -f ../common/fdfs_define.h ../common/fdfs_global.h ../common/mime_file_parser.h ../common/fdfs_http_shared.h ../tracker/tracker_types.h ../tracker/tracker_proto.h ../tracker/fdfs_shared_func.h ../storage/trunk_mgr/trunk_shared.h tracker_client.h storage_client.h storage_client1.h client_func.h client_global.h fdfs_client.h /usr/include/fastdfs

if [ ! -f /etc/fdfs/client.conf.sample ]; then cp -f ../conf/client.conf /etc/fdfs/client.conf.sample; fi

[root@bogon fastdfs-5.09]#

4.5配置fdfs

[root@bogon /]# mkdir -p /data/fdfs_tracker

[root@bogon /]# mkdir -p /data/fdfs_storage

[root@bogon /]# cd /etc/fdfs/

[root@bogon fdfs]# ls

client.conf.sample storage.conf.sample storage_ids.conf.sample tracker.conf.sample

[root@bogon fdfs]# cp tracker.conf.sample tracker.conf

[root@bogon fdfs]# ls

client.conf.sample storage.conf.sample storage_ids.conf.sample tracker.conf tracker.conf.sample

[root@bogon fdfs]# vim tracker.conf

[root@bogon fdfs]# ll

总用量 32

-rw-r--r-- 1 root root 1461 4月 26 10:53 client.conf.sample

-rw-r--r-- 1 root root 7927 4月 26 11:13 storage.conf.sample

-rw-r--r-- 1 root root 105 4月 26 11:13 storage_ids.conf.sample

-rw-r--r-- 1 root root 7316 4月 26 11:38 tracker.conf

-rw-r--r-- 1 root root 7318 4月 26 11:13 tracker.conf.sample

[root@bogon fdfs]# cp storage.conf.sample storage.conf

[root@bogon fdfs]# ll

总用量 40

-rw-r--r-- 1 root root 1461 4月 26 10:53 client.conf.sample

-rw-r--r-- 1 root root 7927 4月 26 11:41 storage.conf

-rw-r--r-- 1 root root 7927 4月 26 11:13 storage.conf.sample

-rw-r--r-- 1 root root 105 4月 26 11:13 storage_ids.conf.sample

-rw-r--r-- 1 root root 7316 4月 26 11:38 tracker.conf

-rw-r--r-- 1 root root 7318 4月 26 11:13 tracker.conf.sample

[root@bogon fdfs]# vim storage.conf

[root@bogon fdfs]# mkdir -p /data/fdfs_storage/base

4.6启动tracker

[root@bogon fdfs]# /etc/init.d/fdfs_trackerd start

Reloading systemd: [ 确定 ]

Starting fdfs_trackerd (via systemctl): [ 确定 ]

4.7配置storage

[root@bogon fdfs]# vim storage.conf

[root@bogon fdfs]# vim storage.conf

[root@bogon fdfs]# > mkdir -p /data/fdfs_storage/storage0

bash: -p: 未找到命令...

[root@bogon fdfs]# > mkdir -p /data/fdfs_storage/storage1

bash: -p: 未找到命令...

[root@bogon fdfs]# > mkdir /data/fdfs_storage/storage1

-bash: /data/fdfs_storage/storage1: 没有那个文件或目录

[root@bogon fdfs]# cd /data/fdfs_storage/

[root@bogon fdfs_storage]# ll

总用量 0

drwxr-xr-x 3 root root 18 4月 26 11:44 base

[root@bogon fdfs_storage]# mkdir storage0

[root@bogon fdfs_storage]# mkdir storage1

[root@bogon fdfs_storage]# ll

总用量 0

drwxr-xr-x 3 root root 18 4月 26 11:44 base

drwxr-xr-x 2 root root 6 4月 26 13:40 storage0

drwxr-xr-x 2 root root 6 4月 26 13:40 storage1

[root@bogon fdfs_storage]# /etc/init.d/fdfs_trackerd restart

Restarting fdfs_trackerd (via systemctl): [ 确定 ]

4.8启动fdfs_storaged

[root@bogon fdfs_storage]# /etc/init.d/fdfs_storaged restart

Restarting fdfs_storaged (via systemctl): [ 确定 ]

[root@bogon fdfs_storage]#

5.linux安装nginx

5.1安装pcre

[root@bogon ~]# useradd -s /sbin/nologin -M nginx

[root@bogon ~]# ll

总用量 3712

-rw-------. 1 root root 2254 4月 18 22:05 anaconda-ks.cfg

drwxrwxr-x 10 root root 258 4月 26 11:13 fastdfs-5.09

-rw-r--r-- 1 root root 335132 4月 26 11:04 fastdfs-5.09.tar.gz

-rw-r--r-- 1 root root 22192 4月 26 14:10 fastdfs-nginx-module-master.zip

-rw-r--r--. 1 root root 2285 4月 18 14:10 initial-setup-ks.cfg

drwxrwxr-x 5 root root 135 4月 26 11:11 libfastcommon

-rw-r--r-- 1 root root 434873 4月 26 11:08 libfastcommon-1.0.36.tar.gz

drwxr-xr-x 8 mysql mysql 158 1月 31 2017 nginx-1.10.3

-rw-r--r-- 1 root root 911509 4月 26 14:08 nginx-1.10.3.tar.gz

drwxr-xr-x 7 1169 1169 8192 1月 11 2017 pcre-8.40

-rw-r--r-- 1 root root 2065161 4月 26 13:53 pcre-8.40.tar.gz

drwxr-xr-x 3 27626 users 87 10月 4 2009 src

drwxr-xr-x 2 root root 6 4月 18 19:40 公共

drwxr-xr-x 2 root root 6 4月 18 19:40 模板

drwxr-xr-x 2 root root 6 4月 18 19:40 视频

drwxr-xr-x 2 root root 6 4月 18 19:40 图片

drwxr-xr-x 2 root root 6 4月 18 19:40 文档

drwxr-xr-x 2 root root 6 4月 18 19:40 下载

drwxr-xr-x 2 root root 6 4月 18 19:40 音乐

drwxr-xr-x 2 root root 6 4月 18 19:40 桌面

[root@bogon ~]# cd pcre-8.40/

[root@bogon pcre-8.40]# ./configure --prefix=/data/pcre

checking for a BSD-compatible install... /usr/bin/install -c

checking whether build environment is sane... yes

checking for a thread-safe mkdir -p... /usr/bin/mkdir -p

checking for gawk... gawk

checking whether make sets $(MAKE)... yes

checking whether make supports nested variables... yes

checking whether make supports nested variables... (cached) yes

checking for style of include used by make... GNU

checking for gcc... gcc

checking whether the C compiler works... yes

checking for C compiler default output file name... a.out

checking for suffix of executables...

checking whether we are cross compiling... no

checking for suffix of object files... o

checking whether we are using the GNU C compiler... yes

checking whether gcc accepts -g... yes

checking for gcc option to accept ISO C89... none needed

checking whether gcc understands -c and -o together... yes

checking dependency style of gcc... gcc3

checking for ar... ar

checking the archiver (ar) interface... ar

checking for gcc... (cached) gcc

checking whether we are using the GNU C compiler... (cached) yes

checking whether gcc accepts -g... (cached) yes

checking for gcc option to accept ISO C89... (cached) none needed

checking whether gcc understands -c and -o together... (cached) yes

checking dependency style of gcc... (cached) gcc3

checking for g++... g++

checking whether we are using the GNU C++ compiler... yes

checking whether g++ accepts -g... yes

checking dependency style of g++... gcc3

checking how to run the C preprocessor... gcc -E

checking for grep that handles long lines and -e... /usr/bin/grep

checking for egrep... /usr/bin/grep -E

checking for ANSI C header files... yes

checking for sys/types.h... yes

checking for sys/stat.h... yes

checking for stdlib.h... yes

checking for string.h... yes

checking for memory.h... yes

checking for strings.h... yes

checking for inttypes.h... yes

checking for stdint.h... yes

checking for unistd.h... yes

checking for int64_t... yes

checking build system type... x86_64-unknown-linux-gnu

checking host system type... x86_64-unknown-linux-gnu

checking how to print strings... printf

checking for a sed that does not truncate output... /usr/bin/sed

checking for fgrep... /usr/bin/grep -F

checking for ld used by gcc... /usr/bin/ld

checking if the linker (/usr/bin/ld) is GNU ld... yes

checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B

checking the name lister (/usr/bin/nm -B) interface... BSD nm

checking whether ln -s works... yes

checking the maximum length of command line arguments... 1572864

checking how to convert x86_64-unknown-linux-gnu file names to x86_64-unknown-linux-gnu format... func_convert_file_noop

checking how to convert x86_64-unknown-linux-gnu file names to toolchain format... func_convert_file_noop

checking for /usr/bin/ld option to reload object files... -r

checking for objdump... objdump

checking how to recognize dependent libraries... pass_all

checking for dlltool... dlltool

checking how to associate runtime and link libraries... printf %s*n*

checking for archiver @FILE support... @

checking for strip... strip

checking for ranlib... ranlib

checking command to parse /usr/bin/nm -B output from gcc object... ok

checking for sysroot... no

checking for a working dd... /usr/bin/dd

checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1

checking for mt... no

checking if : is a manifest tool... no

checking for dlfcn.h... yes

checking for objdir... .libs

checking if gcc supports -fno-rtti -fno-exceptions... no

checking for gcc option to produce PIC... -fPIC -DPIC

checking if gcc PIC flag -fPIC -DPIC works... yes

checking if gcc static flag -static works... no

checking if gcc supports -c -o file.o... yes

checking if gcc supports -c -o file.o... (cached) yes

checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes

checking whether -lc should be explicitly linked in... no

checking dynamic linker characteristics... GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether stripping libraries is possible... yes

checking if libtool supports shared libraries... yes

checking whether to build shared libraries... yes

checking whether to build static libraries... yes

checking how to run the C++ preprocessor... g++ -E

checking for ld used by g++... /usr/bin/ld -m elf_x86_64

checking if the linker (/usr/bin/ld -m elf_x86_64) is GNU ld... yes

checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes

checking for g++ option to produce PIC... -fPIC -DPIC

checking if g++ PIC flag -fPIC -DPIC works... yes

checking if g++ static flag -static works... no

checking if g++ supports -c -o file.o... yes

checking if g++ supports -c -o file.o... (cached) yes

checking whether the g++ linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes

checking dynamic linker characteristics... (cached) GNU/Linux ld.so

checking how to hardcode library paths into programs... immediate

checking whether ln -s works... yes

checking whether the -Werror option is usable... yes

checking for simple visibility declarations... yes

checking for ANSI C header files... (cached) yes

checking limits.h usability... yes

checking limits.h presence... yes

checking for limits.h... yes

checking for sys/types.h... (cached) yes

checking for sys/stat.h... (cached) yes

checking dirent.h usability... yes

checking dirent.h presence... yes

checking for dirent.h... yes

checking windows.h usability... no

checking windows.h presence... no

checking for windows.h... no

checking for alias support in the linker... no

checking for alias support in the linker... no

checking string usability... yes

checking string presence... yes

checking for string... yes

checking bits/type_traits.h usability... no

checking bits/type_traits.h presence... no

checking for bits/type_traits.h... no

checking type_traits.h usability... no

checking type_traits.h presence... no

checking for type_traits.h... no

checking for strtoq... yes

checking for long long... yes

checking for unsigned long long... yes

checking for an ANSI C-conforming const... yes

checking for size_t... yes

checking for bcopy... yes

checking for memmove... yes

checking for strerror... yes

checking zlib.h usability... no

checking zlib.h presence... no

checking for zlib.h... no

checking for gzopen in -lz... no

checking bzlib.h usability... no

checking bzlib.h presence... no

checking for bzlib.h... no

checking for libbz2... no

checking that generated files are newer than configure... done

configure: creating ./config.status

config.status: creating Makefile

config.status: creating libpcre.pc

config.status: creating libpcre16.pc

config.status: creating libpcre32.pc

config.status: creating libpcreposix.pc

config.status: creating libpcrecpp.pc

config.status: creating pcre-config

config.status: creating pcre.h

config.status: creating pcre_stringpiece.h

config.status: creating pcrecpparg.h

config.status: creating config.h

config.status: executing depfiles commands

config.status: executing libtool commands

config.status: executing script-chmod commands

config.status: executing delete-old-chartables commands

pcre-8.40 configuration summary:

Install prefix .................. : /data/pcre

C preprocessor .................. : gcc -E

C compiler ...................... : gcc

C++ preprocessor ................ : g++ -E

C++ compiler .................... : g++

Linker .......................... : /usr/bin/ld -m elf_x86_64

C preprocessor flags ............ :

C compiler flags ................ : -g -O2 -fvisibility=hidden

C++ compiler flags .............. : -O2 -fvisibility=hidden -fvisibility-inlines-hidden

Linker flags .................... :

Extra libraries ................. :

Build 8 bit pcre library ........ : yes

Build 16 bit pcre library ....... : no

Build 32 bit pcre library ....... : no

Build C++ library ............... : yes

Enable JIT compiling support .... : no

Enable UTF-8/16/32 support ...... : no

Unicode properties .............. : no

Newline char/sequence ........... : lf

\R matches only ANYCRLF ......... : no

EBCDIC coding ................... : no

EBCDIC code for NL .............. : n/a

Rebuild char tables ............. : no

Use stack recursion ............. : yes

POSIX mem threshold ............. : 10

Internal link size .............. : 2

Nested parentheses limit ........ : 250

Match limit ..................... : 10000000

Match limit recursion ........... : MATCH_LIMIT

Build shared libs ............... : yes

Build static libs ............... : yes

Use JIT in pcregrep ............. : no

Buffer size for pcregrep ........ : 20480

Link pcregrep with libz ......... : no

Link pcregrep with libbz2 ....... : no

Link pcretest with libedit ...... : no

Link pcretest with libreadline .. : no

Valgrind support ................ : no

Code coverage ................... : no

[root@bogon pcre-8.40]# make && make install

rm -f pcre_chartables.c

ln -s ./pcre_chartables.c.dist pcre_chartables.c

make all-am

make[1]: 进入目录“/root/pcre-8.40”

CC libpcre_la-pcre_byte_order.lo

CC libpcre_la-pcre_compile.lo

CC libpcre_la-pcre_config.lo

CC libpcre_la-pcre_dfa_exec.lo

CC libpcre_la-pcre_exec.lo

CC libpcre_la-pcre_fullinfo.lo

CC libpcre_la-pcre_get.lo

CC libpcre_la-pcre_globals.lo

CC libpcre_la-pcre_jit_compile.lo

CC libpcre_la-pcre_maketables.lo

CC libpcre_la-pcre_newline.lo

CC libpcre_la-pcre_ord2utf8.lo

CC libpcre_la-pcre_refcount.lo

CC libpcre_la-pcre_string_utils.lo

CC libpcre_la-pcre_study.lo

CC libpcre_la-pcre_tables.lo

CC libpcre_la-pcre_ucd.lo

CC libpcre_la-pcre_valid_utf8.lo

CC libpcre_la-pcre_version.lo

CC libpcre_la-pcre_xclass.lo

CC libpcre_la-pcre_chartables.lo

CCLD libpcre.la

CC libpcreposix_la-pcreposix.lo

CCLD libpcreposix.la

CXX libpcrecpp_la-pcrecpp.lo

CXX libpcrecpp_la-pcre_scanner.lo

CXX libpcrecpp_la-pcre_stringpiece.lo

CXXLD libpcrecpp.la

CC pcretest-pcretest.o

CC pcretest-pcre_printint.o

CCLD pcretest

CC pcregrep-pcregrep.o

CCLD pcregrep

CXX pcrecpp_unittest-pcrecpp_unittest.o

CXXLD pcrecpp_unittest

CXX pcre_scanner_unittest-pcre_scanner_unittest.o

CXXLD pcre_scanner_unittest

CXX pcre_stringpiece_unittest-pcre_stringpiece_unittest.o

CXXLD pcre_stringpiece_unittest

make[1]: 离开目录“/root/pcre-8.40”

make install-am

make[1]: 进入目录“/root/pcre-8.40”

make[2]: 进入目录“/root/pcre-8.40”

/usr/bin/mkdir -p '/data/pcre/lib'

/bin/sh ./libtool --mode=install /usr/bin/install -c libpcre.la libpcreposix.la libpcrecpp.la '/data/pcre/lib'

libtool: install: /usr/bin/install -c .libs/libpcre.so.1.2.8 /data/pcre/lib/libpcre.so.1.2.8

libtool: install: (cd /data/pcre/lib && { ln -s -f libpcre.so.1.2.8 libpcre.so.1 || { rm -f libpcre.so.1 && ln -s libpcre.so.1.2.8 libpcre.so.1; }; })

libtool: install: (cd /data/pcre/lib && { ln -s -f libpcre.so.1.2.8 libpcre.so || { rm -f libpcre.so && ln -s libpcre.so.1.2.8 libpcre.so; }; })

libtool: install: /usr/bin/install -c .libs/libpcre.lai /data/pcre/lib/libpcre.la

libtool: warning: relinking 'libpcreposix.la'

libtool: install: (cd /root/pcre-8.40; /bin/sh "/root/pcre-8.40/libtool" --silent --tag CC --mode=relink gcc -fvisibility=hidden -g -O2 -version-info 0:4:0 -o libpcreposix.la -rpath /data/pcre/lib libpcreposix_la-pcreposix.lo libpcre.la )

libtool: install: /usr/bin/install -c .libs/libpcreposix.so.0.0.4T /data/pcre/lib/libpcreposix.so.0.0.4

libtool: install: (cd /data/pcre/lib && { ln -s -f libpcreposix.so.0.0.4 libpcreposix.so.0 || { rm -f libpcreposix.so.0 && ln -s libpcreposix.so.0.0.4 libpcreposix.so.0; }; })

libtool: install: (cd /data/pcre/lib && { ln -s -f libpcreposix.so.0.0.4 libpcreposix.so || { rm -f libpcreposix.so && ln -s libpcreposix.so.0.0.4 libpcreposix.so; }; })

libtool: install: /usr/bin/install -c .libs/libpcreposix.lai /data/pcre/lib/libpcreposix.la

libtool: warning: relinking 'libpcrecpp.la'

libtool: install: (cd /root/pcre-8.40; /bin/sh "/root/pcre-8.40/libtool" --silent --tag CXX --mode=relink g++ -fvisibility=hidden -fvisibility-inlines-hidden -O2 -version-info 0:1:0 -o libpcrecpp.la -rpath /data/pcre/lib libpcrecpp_la-pcrecpp.lo libpcrecpp_la-pcre_scanner.lo libpcrecpp_la-pcre_stringpiece.lo libpcre.la )

libtool: install: /usr/bin/install -c .libs/libpcrecpp.so.0.0.1T /data/pcre/lib/libpcrecpp.so.0.0.1

libtool: install: (cd /data/pcre/lib && { ln -s -f libpcrecpp.so.0.0.1 libpcrecpp.so.0 || { rm -f libpcrecpp.so.0 && ln -s libpcrecpp.so.0.0.1 libpcrecpp.so.0; }; })

libtool: install: (cd /data/pcre/lib && { ln -s -f libpcrecpp.so.0.0.1 libpcrecpp.so || { rm -f libpcrecpp.so && ln -s libpcrecpp.so.0.0.1 libpcrecpp.so; }; })

libtool: install: /usr/bin/install -c .libs/libpcrecpp.lai /data/pcre/lib/libpcrecpp.la

libtool: install: /usr/bin/install -c .libs/libpcre.a /data/pcre/lib/libpcre.a

libtool: install: chmod 644 /data/pcre/lib/libpcre.a

libtool: install: ranlib /data/pcre/lib/libpcre.a

libtool: install: /usr/bin/install -c .libs/libpcreposix.a /data/pcre/lib/libpcreposix.a

libtool: install: chmod 644 /data/pcre/lib/libpcreposix.a

libtool: install: ranlib /data/pcre/lib/libpcreposix.a

libtool: install: /usr/bin/install -c .libs/libpcrecpp.a /data/pcre/lib/libpcrecpp.a

libtool: install: chmod 644 /data/pcre/lib/libpcrecpp.a

libtool: install: ranlib /data/pcre/lib/libpcrecpp.a

libtool: finish: PATH="/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/admin/.local/bin:/home/admin/bin:/usr/local/mysql/bin/:/usr/jdk8/bin:/root/bin:/sbin" ldconfig -n /data/pcre/lib


Libraries have been installed in:

/data/pcre/lib

If you ever happen to want to link against installed libraries

in a given directory, LIBDIR, you must either use libtool, and

specify the full pathname of the library, or use the '-LLIBDIR'

flag during linking and do at least one of the following:

  • add LIBDIR to the 'LD_LIBRARY_PATH' environment variable

during execution

  • add LIBDIR to the 'LD_RUN_PATH' environment variable

during linking

  • use the '-Wl,-rpath -Wl,LIBDIR' linker flag
  • have your system administrator add LIBDIR to '/etc/ld.so.conf'

See any operating system documentation about shared libraries for

more information, such as the ld(1) and ld.so(8) manual pages.


/usr/bin/mkdir -p '/data/pcre/bin'

/bin/sh ./libtool --mode=install /usr/bin/install -c pcretest pcregrep '/data/pcre/bin'

libtool: install: /usr/bin/install -c .libs/pcretest /data/pcre/bin/pcretest

libtool: install: /usr/bin/install -c .libs/pcregrep /data/pcre/bin/pcregrep

/usr/bin/mkdir -p '/data/pcre/bin'

/usr/bin/install -c pcre-config '/data/pcre/bin'

/usr/bin/mkdir -p '/data/pcre/share/doc/pcre'

/usr/bin/install -c -m 644 doc/pcre.txt doc/pcre-config.txt doc/pcregrep.txt doc/pcretest.txt AUTHORS COPYING ChangeLog LICENCE NEWS README '/data/pcre/share/doc/pcre'

/usr/bin/mkdir -p '/data/pcre/share/doc/pcre/html'

/usr/bin/install -c -m 644 doc/html/NON-AUTOTOOLS-BUILD.txt doc/html/README.txt doc/html/index.html doc/html/pcre-config.html doc/html/pcre.html doc/html/pcre16.html doc/html/pcre32.html doc/html/pcre_assign_jit_stack.html doc/html/pcre_compile.html doc/html/pcre_compile2.html doc/html/pcre_config.html doc/html/pcre_copy_named_substring.html doc/html/pcre_copy_substring.html doc/html/pcre_dfa_exec.html doc/html/pcre_exec.html doc/html/pcre_free_study.html doc/html/pcre_free_substring.html doc/html/pcre_free_substring_list.html doc/html/pcre_fullinfo.html doc/html/pcre_get_named_substring.html doc/html/pcre_get_stringnumber.html doc/html/pcre_get_stringtable_entries.html doc/html/pcre_get_substring.html doc/html/pcre_get_substring_list.html doc/html/pcre_jit_exec.html doc/html/pcre_jit_stack_alloc.html doc/html/pcre_jit_stack_free.html doc/html/pcre_maketables.html doc/html/pcre_pattern_to_host_byte_order.html doc/html/pcre_refcount.html doc/html/pcre_study.html doc/html/pcre_utf16_to_host_byte_order.html doc/html/pcre_utf32_to_host_byte_order.html doc/html/pcre_version.html doc/html/pcreapi.html doc/html/pcrebuild.html doc/html/pcrecallout.html doc/html/pcrecompat.html doc/html/pcredemo.html doc/html/pcregrep.html '/data/pcre/share/doc/pcre/html'

/usr/bin/install -c -m 644 doc/html/pcrejit.html doc/html/pcrelimits.html doc/html/pcrematching.html doc/html/pcrepartial.html doc/html/pcrepattern.html doc/html/pcreperform.html doc/html/pcreposix.html doc/html/pcreprecompile.html doc/html/pcresample.html doc/html/pcrestack.html doc/html/pcresyntax.html doc/html/pcretest.html doc/html/pcreunicode.html '/data/pcre/share/doc/pcre/html'

/usr/bin/mkdir -p '/data/pcre/share/doc/pcre/html'

/usr/bin/install -c -m 644 doc/html/pcrecpp.html '/data/pcre/share/doc/pcre/html'

/usr/bin/mkdir -p '/data/pcre/include'

/usr/bin/install -c -m 644 pcreposix.h pcrecpp.h pcre_scanner.h '/data/pcre/include'

/usr/bin/mkdir -p '/data/pcre/share/man/man1'

/usr/bin/install -c -m 644 doc/pcre-config.1 doc/pcregrep.1 doc/pcretest.1 '/data/pcre/share/man/man1'

/usr/bin/mkdir -p '/data/pcre/share/man/man3'

/usr/bin/install -c -m 644 doc/pcre.3 doc/pcre16.3 doc/pcre32.3 doc/pcre_assign_jit_stack.3 doc/pcre_compile.3 doc/pcre_compile2.3 doc/pcre_config.3 doc/pcre_copy_named_substring.3 doc/pcre_copy_substring.3 doc/pcre_dfa_exec.3 doc/pcre_exec.3 doc/pcre_free_study.3 doc/pcre_free_substring.3 doc/pcre_free_substring_list.3 doc/pcre_fullinfo.3 doc/pcre_get_named_substring.3 doc/pcre_get_stringnumber.3 doc/pcre_get_stringtable_entries.3 doc/pcre_get_substring.3 doc/pcre_get_substring_list.3 doc/pcre_jit_exec.3 doc/pcre_jit_stack_alloc.3 doc/pcre_jit_stack_free.3 doc/pcre_maketables.3 doc/pcre_pattern_to_host_byte_order.3 doc/pcre_refcount.3 doc/pcre_study.3 doc/pcre_utf16_to_host_byte_order.3 doc/pcre_utf32_to_host_byte_order.3 doc/pcre_version.3 doc/pcreapi.3 doc/pcrebuild.3 doc/pcrecallout.3 doc/pcrecompat.3 doc/pcredemo.3 doc/pcrejit.3 doc/pcrelimits.3 doc/pcrematching.3 doc/pcrepartial.3 doc/pcrepattern.3 '/data/pcre/share/man/man3'

/usr/bin/install -c -m 644 doc/pcreperform.3 doc/pcreposix.3 doc/pcreprecompile.3 doc/pcresample.3 doc/pcrestack.3 doc/pcresyntax.3 doc/pcreunicode.3 doc/pcrecpp.3 '/data/pcre/share/man/man3'

/usr/bin/mkdir -p '/data/pcre/include'

/usr/bin/install -c -m 644 pcre.h pcrecpparg.h pcre_stringpiece.h '/data/pcre/include'

/usr/bin/mkdir -p '/data/pcre/lib/pkgconfig'

/usr/bin/install -c -m 644 libpcre.pc libpcreposix.pc libpcrecpp.pc '/data/pcre/lib/pkgconfig'

make install-data-hook

make[3]: 进入目录“/root/pcre-8.40”

ln -sf pcre_assign_jit_stack.3 /data/pcre/share/man/man3/pcre16_assign_jit_stack.3

ln -sf pcre_compile.3 /data/pcre/share/man/man3/pcre16_compile.3

ln -sf pcre_compile2.3 /data/pcre/share/man/man3/pcre16_compile2.3

ln -sf pcre_config.3 /data/pcre/share/man/man3/pcre16_config.3

ln -sf pcre_copy_named_substring.3 /data/pcre/share/man/man3/pcre16_copy_named_substring.3

ln -sf pcre_copy_substring.3 /data/pcre/share/man/man3/pcre16_copy_substring.3

ln -sf pcre_dfa_exec.3 /data/pcre/share/man/man3/pcre16_dfa_exec.3

ln -sf pcre_exec.3 /data/pcre/share/man/man3/pcre16_exec.3

ln -sf pcre_free_study.3 /data/pcre/share/man/man3/pcre16_free_study.3

ln -sf pcre_free_substring.3 /data/pcre/share/man/man3/pcre16_free_substring.3

ln -sf pcre_free_substring_list.3 /data/pcre/share/man/man3/pcre16_free_substring_list.3

ln -sf pcre_fullinfo.3 /data/pcre/share/man/man3/pcre16_fullinfo.3

ln -sf pcre_get_named_substring.3 /data/pcre/share/man/man3/pcre16_get_named_substring.3

ln -sf pcre_get_stringnumber.3 /data/pcre/share/man/man3/pcre16_get_stringnumber.3

ln -sf pcre_get_stringtable_entries.3 /data/pcre/share/man/man3/pcre16_get_stringtable_entries.3

ln -sf pcre_get_substring.3 /data/pcre/share/man/man3/pcre16_get_substring.3

ln -sf pcre_get_substring_list.3 /data/pcre/share/man/man3/pcre16_get_substring_list.3

ln -sf pcre_jit_exec.3 /data/pcre/share/man/man3/pcre16_jit_exec.3

ln -sf pcre_jit_stack_alloc.3 /data/pcre/share/man/man3/pcre16_jit_stack_alloc.3

ln -sf pcre_jit_stack_free.3 /data/pcre/share/man/man3/pcre16_jit_stack_free.3

ln -sf pcre_maketables.3 /data/pcre/share/man/man3/pcre16_maketables.3

ln -sf pcre_pattern_to_host_byte_order.3 /data/pcre/share/man/man3/pcre16_pattern_to_host_byte_order.3

ln -sf pcre_refcount.3 /data/pcre/share/man/man3/pcre16_refcount.3

ln -sf pcre_study.3 /data/pcre/share/man/man3/pcre16_study.3

ln -sf pcre_utf16_to_host_byte_order.3 /data/pcre/share/man/man3/pcre16_utf16_to_host_byte_order.3

ln -sf pcre_version.3 /data/pcre/share/man/man3/pcre16_version.3

ln -sf pcre_assign_jit_stack.3 /data/pcre/share/man/man3/pcre32_assign_jit_stack.3

ln -sf pcre_compile.3 /data/pcre/share/man/man3/pcre32_compile.3

ln -sf pcre_compile2.3 /data/pcre/share/man/man3/pcre32_compile2.3

ln -sf pcre_config.3 /data/pcre/share/man/man3/pcre32_config.3

ln -sf pcre_copy_named_substring.3 /data/pcre/share/man/man3/pcre32_copy_named_substring.3

ln -sf pcre_copy_substring.3 /data/pcre/share/man/man3/pcre32_copy_substring.3

ln -sf pcre_dfa_exec.3 /data/pcre/share/man/man3/pcre32_dfa_exec.3

ln -sf pcre_exec.3 /data/pcre/share/man/man3/pcre32_exec.3

ln -sf pcre_free_study.3 /data/pcre/share/man/man3/pcre32_free_study.3

ln -sf pcre_free_substring.3 /data/pcre/share/man/man3/pcre32_free_substring.3

ln -sf pcre_free_substring_list.3 /data/pcre/share/man/man3/pcre32_free_substring_list.3

ln -sf pcre_fullinfo.3 /data/pcre/share/man/man3/pcre32_fullinfo.3

ln -sf pcre_get_named_substring.3 /data/pcre/share/man/man3/pcre32_get_named_substring.3

ln -sf pcre_get_stringnumber.3 /data/pcre/share/man/man3/pcre32_get_stringnumber.3

ln -sf pcre_get_stringtable_entries.3 /data/pcre/share/man/man3/pcre32_get_stringtable_entries.3

ln -sf pcre_get_substring.3 /data/pcre/share/man/man3/pcre32_get_substring.3

ln -sf pcre_get_substring_list.3 /data/pcre/share/man/man3/pcre32_get_substring_list.3

ln -sf pcre_jit_exec.3 /data/pcre/share/man/man3/pcre32_jit_exec.3

ln -sf pcre_jit_stack_alloc.3 /data/pcre/share/man/man3/pcre32_jit_stack_alloc.3

ln -sf pcre_jit_stack_free.3 /data/pcre/share/man/man3/pcre32_jit_stack_free.3

ln -sf pcre_maketables.3 /data/pcre/share/man/man3/pcre32_maketables.3

ln -sf pcre_pattern_to_host_byte_order.3 /data/pcre/share/man/man3/pcre32_pattern_to_host_byte_order.3

ln -sf pcre_refcount.3 /data/pcre/share/man/man3/pcre32_refcount.3

ln -sf pcre_study.3 /data/pcre/share/man/man3/pcre32_study.3

ln -sf pcre_utf32_to_host_byte_order.3 /data/pcre/share/man/man3/pcre32_utf32_to_host_byte_order.3

ln -sf pcre_version.3 /data/pcre/share/man/man3/pcre32_version.3

make[3]: 离开目录“/root/pcre-8.40”

make[2]: 离开目录“/root/pcre-8.40”

make[1]: 离开目录“/root/pcre-8.40”

5.2下载:zlib-devel

https://centos.pkgs.org/7/centos-x86_64/zlib-devel-1.2.7-17.el7.x86_64.rpm.html

5.3下载:openssl-devel

https://pkgs.org/download/openssl-devel

root@bogon nginx-1.10.3]# yum -y install openssl openssl-devel

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

    • base: mirrors.aliyun.com*
    • extras: mirrors.aliyun.com*
    • updates: mirrors.aliyun.com*

软件包 1:openssl-1.0.2k-8.el7.x86_64 已安装并且是最新版本

软件包 1:openssl-devel-1.0.2k-8.el7.x86_64 已安装并且是最新版本

无须任何处理

5.4安装nginx

[root@bogon nginx-1.10.3]# ./configure

checking for OS

  • Linux 3.10.0-693.el7.x86_64 x86_64

checking for C compiler ... found

  • using GNU C compiler
  • gcc version: 4.8.5 20150623 (Red Hat 4.8.5-16) (GCC)

checking for gcc -pipe switch ... found

checking for -Wl,-E switch ... found

checking for gcc builtin atomic operations ... found

checking for C99 variadic macros ... found

checking for gcc variadic macros ... found

checking for gcc builtin 64 bit byteswap ... found

checking for unistd.h ... found

checking for inttypes.h ... found

checking for limits.h ... found

checking for sys/filio.h ... not found

checking for sys/param.h ... found

checking for sys/mount.h ... found

checking for sys/statvfs.h ... found

checking for crypt.h ... found

checking for Linux specific features

checking for epoll ... found

checking for EPOLLRDHUP ... found

checking for O_PATH ... found

checking for sendfile() ... found

checking for sendfile64() ... found

checking for sys/prctl.h ... found

checking for prctl(PR_SET_DUMPABLE) ... found

checking for sched_setaffinity() ... found

checking for crypt_r() ... found

checking for sys/vfs.h ... found

checking for nobody group ... found

checking for poll() ... found

checking for /dev/poll ... not found

checking for kqueue ... not found

checking for crypt() ... not found

checking for crypt() in libcrypt ... found

checking for F_READAHEAD ... not found

checking for posix_fadvise() ... found

checking for O_DIRECT ... found

checking for F_NOCACHE ... not found

checking for directio() ... not found

checking for statfs() ... found

checking for statvfs() ... found

checking for dlopen() ... not found

checking for dlopen() in libdl ... found

checking for sched_yield() ... found

checking for SO_SETFIB ... not found

checking for SO_REUSEPORT ... found

checking for SO_ACCEPTFILTER ... not found

checking for IP_RECVDSTADDR ... not found

checking for IP_PKTINFO ... found

checking for IPV6_RECVPKTINFO ... found

checking for TCP_DEFER_ACCEPT ... found

checking for TCP_KEEPIDLE ... found

checking for TCP_FASTOPEN ... found

checking for TCP_INFO ... found

checking for accept4() ... found

checking for eventfd() ... found

checking for int size ... 4 bytes

checking for long size ... 8 bytes

checking for long long size ... 8 bytes

checking for void * size ... 8 bytes

checking for uint32_t ... found

checking for uint64_t ... found

checking for sig_atomic_t ... found

checking for sig_atomic_t size ... 4 bytes

checking for socklen_t ... found

checking for in_addr_t ... found

checking for in_port_t ... found

checking for rlim_t ... found

checking for uintptr_t ... uintptr_t found

checking for system byte ordering ... little endian

checking for size_t size ... 8 bytes

checking for off_t size ... 8 bytes

checking for time_t size ... 8 bytes

checking for setproctitle() ... not found

checking for pread() ... found

checking for pwrite() ... found

checking for pwritev() ... found

checking for sys_nerr ... found

checking for localtime_r() ... found

checking for posix_memalign() ... found

checking for memalign() ... found

checking for mmap(MAP_ANON|MAP_SHARED) ... found

checking for mmap("/dev/zero", MAP_SHARED) ... found

checking for System V shared memory ... found

checking for POSIX semaphores ... not found

checking for POSIX semaphores in libpthread ... found

checking for struct msghdr.msg_control ... found

checking for ioctl(FIONBIO) ... found

checking for struct tm.tm_gmtoff ... found

checking for struct dirent.d_namlen ... not found

checking for struct dirent.d_type ... found

checking for sysconf(_SC_NPROCESSORS_ONLN) ... found

checking for openat(), fstatat() ... found

checking for getaddrinfo() ... found

checking for PCRE library ... found

checking for PCRE JIT support ... found

checking for md5 in system md library ... not found

checking for md5 in system md5 library ... not found

checking for md5 in system OpenSSL crypto library ... found

checking for sha1 in system md library ... not found

checking for sha1 in system OpenSSL crypto library ... found

checking for zlib library ... found

creating objs/Makefile

Configuration summary

  • using system PCRE library
  • OpenSSL library is not used
  • md5: using system crypto library
  • sha1: using system crypto library
  • using system zlib library

nginx path prefix: "/usr/local/nginx"

nginx binary file: "/usr/local/nginx/sbin/nginx"

nginx modules path: "/usr/local/nginx/modules"

nginx configuration prefix: "/usr/local/nginx/conf"

nginx configuration file: "/usr/local/nginx/conf/nginx.conf"

nginx pid file: "/usr/local/nginx/logs/nginx.pid"

nginx error log file: "/usr/local/nginx/logs/error.log"

nginx http access log file: "/usr/local/nginx/logs/access.log"

nginx http client request body temporary files: "client_body_temp"

nginx http proxy temporary files: "proxy_temp"

nginx http fastcgi temporary files: "fastcgi_temp"

nginx http uwsgi temporary files: "uwsgi_temp"

nginx http scgi temporary files: "scgi_temp"

5.5启动nginx

[root@bogon nginx-1.10.3]#

[root@bogon nginx-1.10.3]# cd objs

[root@bogon objs]# ll

总用量 3540

-rw-r--r-- 1 root root 15172 4月 26 15:32 autoconf.err

-rw-r--r-- 1 root root 38230 4月 26 15:32 Makefile

-rwxr-xr-x 1 root root 3504256 4月 26 15:33 nginx

-rw-r--r-- 1 root root 5341 4月 26 15:33 nginx.8

-rw-r--r-- 1 root root 6638 4月 26 15:32 ngx_auto_config.h

-rw-r--r-- 1 root root 657 4月 26 15:32 ngx_auto_headers.h

-rw-r--r-- 1 root root 5508 4月 26 15:32 ngx_modules.c

-rw-r--r-- 1 root root 30536 4月 26 15:33 ngx_modules.o

drwxr-xr-x 9 root root 91 4月 26 15:32 src

[root@bogon objs]# ./nginx

6参考文档:

rides参考文档:https://www.cnblogs.com/wangchunniu1314/p/6339416.html

fastDFS参考文档:https://www.cnblogs.com/jkko123/p/6490744.html

https://www.cnblogs.com/yufeng218/p/8111961.html

nginx参考文档:https://blog.csdn.net/testcs_dn/article/details/39233569

https://www.cnblogs.com/hackerer/archive/2016/03/12/5270034.html

redis参考文档:https://www.cnblogs.com/oskyhg/p/7293905.html

maven安装参考文档:https://blog.csdn.net/bigtree_3721/article/details/79045028

7.下载链接:

7.1fastDFS下载:

https://github.com/happyfish100

image.png

image.png

7.2 pcre-devel下载

https://centos.pkgs.org/7/centos-x86_64/pcre-devel-8.32-17.el7.x86_64.rpm.html

7.3 openssl-devel下载

https://centos.pkgs.org/7/centos-x86_64/openssl-devel-1.0.2k-8.el7.x86_64.rpm.html

7.4 zlib-devel

https://centos.pkgs.org/7/centos-x86_64/zlib-devel-1.2.7-17.el7.x86_64.rpm.html

image.png

7.5 redis下载:

http://www.redis.cn/

image.png

7.6nginx下载:

http://nginx.org/en/download.html

image.png

image.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SAP最佳业务实践

SAP最佳业务实践:SD–带变式价格的销售报价(663)-2创建报价单

一、VA21Creating Quotation Header The customer inquires about a configurable mater...

3814
来自专栏程序猿

SQL Server基础SQL脚本之创建架构、排序

代码420行左右 本系列,几乎都是代码,记得当时写的时候用的是微软的官方实例数据库AdventureWorks_Data.mdf、AdventureWork...

2758
来自专栏码匠的流水账

JDK11的ZGC小试牛刀

ZGC全称是Z Garbage Collector,是一款可伸缩(scalable)的低延迟(low latency garbage)、并发(concurren...

1052
来自专栏10km的专栏

cuda8+cuDNN Faster R-CNN安装塈运行demo

安装cuda cuda8安装参见网上教程 安装cuDNN py-faster-rcnn/caffe-fast-rcnn目前不支持cuDNN5。 如果使用cu...

2776
来自专栏林德熙的博客

git 修改commit日期为之前的日期

我在之前修改了一个文件,但是没有commit,现在我想要commit,日期为那天的日期 git 修改日期的方法很简单,因为有一个命令--date 可以设置 gi...

971
来自专栏木宛城主

SharePoint 2013自定义Providers在基于表单的身份验证(Forms-Based-Authentication)中的应用

由于项目的需要,登录SharePoint Application的用户将从一个统一平台中获取,而不是从Domain中获取,所以需要对SharePoint Ap...

2059
来自专栏张善友的专栏

Line Counter - Writing a Visual Studio 2005 Add-In

Download original source files - 553 Kb Download new source files - 1483 Kb Do...

1748
来自专栏杨建荣的学习笔记

关于查询转换的一些简单分析(三) (r3笔记第69天)

关于查询转换,已经讨论了视图合并和子查询解嵌套,还有谓词推进和物化视图查询重写也是查询转换中不可或缺的部分。 -->谓词推进 这个术语听起来高大上,有点故弄玄虚...

26811
来自专栏Kubernetes

runC源码分析——cgroup

runC项目中,与cgroups相关的代码,都在目录 runc/libcontainer/cgroups/下,下面是其源码目录结构分析: ? 我们关注的主要内...

3666
来自专栏java沉淀

Centos7环境搭建安装jdk、tomcat、nginx、redis、fastDFS

centos7安装jdk,tomcat,nginx,redis,fastDFS的步骤

3476

扫码关注云+社区