1.安装gcc和g++(centos7.5的默认是gcc 4.85版本)
yum install gcc
//安装g++
yum install gcc-c++
2.升级gcc版本
Centos 7默认gcc版本为4.8,有时需要更高版本的,这里以升级至9.3.1版本为例_centos7 gcc版本_奋发秃强的博客-CSDN博客
Centos7升级gcc、g++版本_centos7 查看gcc版本_蛋蛋の微笑的博客-CSDN博客
3.安装eclipse和vscode
安装VMtools
在centOS7中安装VMware Tools并设置共享文件夹的详细教程_centos7安装vmware tools教程-CSDN博客
4.添加中文输入法,设置快捷键
Centos7.5添加中文输入法_centos7.5 终端支持中文_'今天不吃糖~的博客-CSDN博客
5.更换镜像源
【linux】centos7—更换镜像源_centos7更改镜像源_刘—手的博客-CSDN博客
6.redis安装
https://blog.csdn.net/lizhijian111/article/details/131996370
7.mysql安装
https://blog.csdn.net/lizhijian111/article/details/131995053
8.cmake安装
Centos7 安装 cmake3_centos安装cmake3_毛小zhu的博客-CSDN博客
官网下载 Download | CMake最新版本或者以前的版本也行
//解压
tar -zxvf cmake-3.26.0.tar.gz
cd cmake-3.26.0
./bootstrap
make //make很慢
make install
cmake --version
//报错 CMake Error: Could not find CMAKE_ROOT !!! 参考下一篇文章
hash -r //hash -r 命令清除缓存,并重新查找命令。
[root@VM-8-4-centos cmake-3.26.0]# cmake --version
cmake version 3.26.0
CMake suite maintained and supported by Kitware (kitware.com/cmake).
[root@VM-8-4-centos cmake-3.26.0]#
cmake 安装位置包括 /usr/local/share/cmake-3.26 ; /usr/local/doc/cmake-3.26
CentOS7安装cmake3_centos7 cmake3_xaele_tao的博客-CSDN博客
9.boost库编译
官网下载最新版本,解压
https://www.boost.org/doc/libs/1_82_0/more/getting_started/unix-variants.html#the-boost-distribution C++网络编程 - Boost::asio异步网络编程 - 01- boost库源码编译安装_大秦坑王的博客-CSDN博客
tar --bzip2 -xf /path/to/boost_1_82_0.tar.bz2
//安装python依赖
yum install python-devel
./bootstrap.sh //默认安装到/usr/local下的include和lib下
./b2 //The Boost C++ Libraries were successfully built!
./b2 install //...updated 17405 targets...
10.muduo 编译
C++ muduo网络库知识分享01 - Linux平台下muduo网络库源码编译安装_大秦坑王的博客-CSDN博客
把build下的lib下的静态库放到 /usr/local/lib
把include下的muduo 放到/usr/include
11.zookeeper安装
最全最简单的centos7安装zookeeper和搭建zookeeper集群_centos yum zookeeper_小菜花天天敲代码的博客-CSDN博客
我下载的是3.8.2版本,没找到下载asc文件的地方,所以没有验证
1.解压 并修改配置文件
tar -zxvf apache-zookeeper-3.8.2-bin.tar.gz
cd apache-zookeeper-3.8.2-bin/
cd conf
cp zoo_sample.cfg zoo_lzj.cfg //备份
vi zoo_sample.cfg //修改数据保存目录 放在/var/lib/zookeeper/data
co zoo_sample.cfg zoo.cfg//加载的是zoo.cfg
2.安装javajdk
yum install java-1.8.0-openjdk-devel
//安装目录 /usr/share/javazi
/usr/bin/alt-java
/usr/bin/java
/usr/bin/javac
/usr/bin/javadoc
/usr/bin/javah
/usr/bin/javap
/usr/lib/jvm
/usr/lib/jvm-exports
/usr/lib/java-1.*.0
/usr/share/java*
3.启动(配置到环境变量待做)
[root@VM-8-4-centos bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /root/software/apache-zookeeper-3.8.2-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
//可用netstat -tanp查看
//启动客户端
.zkCli.sh //在bin目录下
//查看节点
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper]
4.编译cAPI
maven安装
centos安装Maven教程_小熊学Java的博客-CSDN博客
2.使用的是.tar.gz版本,不是-bin.tar.gz,源码编译c客户端 (搜索关键词:Zookeeper C客户端库编译)
按照这个博客来,我没有单独安装libtool,因为没报错ZooKeeper3.7.0 编译客户端zookeeper-client_zookeeper-client -server_u013081817的博客-CSDN博客
为了看安装到哪里,我./configure两次,第一次默认安装到/usr/loca/,第二次,可以看到里面有bin.lib.include三个文件夹
编译完之后可能没法用zoo_exists这种同步函数,只能用zoo_aexists这种异步,这是因为 THREADED宏开关没打开,在编译自己的代码时可以打开,比如我再编译mrpc的时候加了开关
参考这个问答
Re: How to use -DTHREADED compile option while compiling
12 fastdfs 安装
1.下载fastdfs和libserverframe 和libfastcommon, happyfish100 (YuQing) · GitHub
2.看fastdfs的INSTALL ,解压和编译(拷贝一些动态库)
unzip fastdfs-master.zip
unzip libfastcommon-master.zip
unzip libserverframe-master.zip
cd libfastcommon-master/
./make.sh clean && ./make.sh && ./make.sh install
cd libserverframe-master/
./make.sh clean && ./make.sh && ./make.sh install
cd fastdfs-master/
./make.sh clean && ./make.sh && ./make.sh install
./setup.sh /etc/fdfs
fdfs_test //查看版本
libfastcommon编译后结果
fastdfs编译后结果
3.更改配置文件(先备份)
tracker.conf
bind_addr =43.143.190.236
base_path = /opt/fastdfs/tracker
port = 22122 //其他的暂时用默认的
storage.conf
base_path = /opt/fastdfs/storage
bind_addr =43.143.190.236 //绑定节点所在IP和端口
port = 23000
store_path0 = /opt/fastdfs/storage //存放路径
store_path_count = 1 //路径数,如果大于1,则上面要写path0 path1等
tracker_server = 43.143.190.236:22122//要连接的tracker的服务器IP和port
client.conf
tracker_server = 43.143.190.236:22122
base_path = /opt/fastdfs/client
4.启动 (腾讯云的bind都不写,写43的会报错,tracker_server的ip写0.0.0.0)参考网络云盘项目——FastDFS集群部署_董哥的黑板报的博客-CSDN博客
# start the tracker server:
/usr/bin/fdfs_trackerd /etc/fdfs/tracker.conf restart
# start the storage server:
/usr/bin/fdfs_storaged /etc/fdfs/storage.conf restart
# (optional) in Linux, you can start fdfs_trackerd and fdfs_storaged as a service:
/sbin/service fdfs_trackerd restart
/sbin/service fdfs_storaged restart
# step 7. (optional) run monitor program
# such as:
/usr/bin/fdfs_monitor /etc/fdfs/client.conf
# step 8. (optional) run the test program
# such as:
/usr/bin/fdfs_test <client_conf_filename> <operation>
/usr/bin/fdfs_test1 <client_conf_filename> <operation>
# for example, upload a file for test:
/usr/bin/fdfs_test /etc/fdfs/client.conf upload /usr/include/stdlib.h
6.配置 nginx GitHub - happyfish100/fastdfs-nginx-module: FastDFS nginx module
下载源码,看里面的NSTALL 很重要,流程挺全面的
再参考这个修改配置文件,挺详细的,还有b站视频也可以5-08-nginx中添加fastdfs模块流程回顾_哔哩哔哩_bilibiliNginx访问fastdfs(fastdfds-nginx-module模块)_ngx_fastdfs_module_董哥的黑板报的博客-CSDN博客
cd nginx目录(源码目录,不是/usr/local/nginx)
./configure --add-module=$YOUR_PATH/fastdfs-nginx-module/src
make; make install
cd /usr/local/nginx/conf
vi nginx.conf
//添加 这是用来在浏览器下载文件的 group1/M00根据你的storage部署确定,可拓展 root路径为storage.conf里面配置的数据存储路径
location /group1/M00 {
root /opt/fastdfs/storage/data;
ngx_fastdfs_module;
}
//然后看/usr/local/nginx/conf下有没有http.conf和mime.types,如果没有去fastdfs源码目录拷贝
cd /root/software/cloud/fastdfs-master/conf
cp conf/http.conf conf/mime.types /etc/fdfs/
//拷贝 看INSTALL /root/software/cloud/fastdfs-nginx-module-master/src
copy mod_fastdfs.conf to /etc/fdfs/
//再修改mod_fastdfs.conf配置文件
配置成功的运行结果
[root@VM-8-4-centos sbin]# ./nginx -s reload
ngx_http_fastdfs_set pid=1396
13.nginx安装
参考:Linux操作系统CentOS7安装Nginx[详细版]_Naijia_OvO的博客-CSDN博客
Centos7安装配置nginx_centos7安装nginx_不知名架构师的博客-CSDN博客
Centos7下部署nginx(三种方式安装部署,图文结合超详细,适合初学者)_centos7 nginx部署_喜欢水星记的博客-CSDN博客
1.下载 nginx news
官网找到想要的版本,我是下载1.24的随机选的
2.依赖库安装
# 安装gcc,源码编译依赖 gcc 环境
yum -y install gcc-c++
# 安装pcre,pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库
yum install -y pcre pcre-devel
# 安装zlib,zlib 库提供了很多种压缩和解压缩的方式,nginx 使用 zlib 对 http 包的内容进行 gzip
yum install -y zlib zlib-devel
# 安装OpenSSL库
yum install -y openssl openssl-devel
# 执行安装
./configure
make
make install
# 执行完后 输入 whereis nginx 检查是否安装成功,如果出现路径则安装成功
[root@localhost nginx-1.22.1]# whereis nginx
nginx: /usr/local/nginx
3.openssl安装
Linux(centos7)下安装OpenSSL 安装详解_/usr/include/openssl_木亦汐丫的博客-CSDN博客
which openssl
openssl version
查看三个依赖库是否安装命令
centos 7 在线安装nginx 查看gcc,pcre,zlib,openssl 等依赖是否安装_安装nginx的时候咱么查看是否有安装gcc_影子2401的博客-CSDN博客
rpm -qa openssl
yum list installed | grep zlib*
rpm -qa pcre
4.常用命令
# 进入nginx的执行目录
cd /usr/local/nginx/sbin
# 启动nginx
./nginx
# 停止nginx(强制停止)
./nginx -s stop
# 退出nginx(安全退出)
./nginx -s quit
# 重新加载配置文件(修改过配置文件后使用)
./nginx -s reload
$ ./nginx // 启动nginx
$ ./nginx -s stop // 停止ngxin
$ ./nginx -s quit // 优雅的关闭nginx,在退出前完成已经接受的连接请求
$ ./nginx -s reload // 重新加载ngxin配置
$ ./nginx -s reopen // 打开nginx日志文件
$ ./nginx -t // 检测配置文件是否有语法错误
$ ./nginx -v // 显示版本信息
$ ./nginx -c [配置文件路径] // 指定配置文件
$ killall nginx // 杀死所有nginx的进程
$ ps -aux | grep nginx // 查看nginx的进程
# 防火墙相关命令
# 关闭防火墙
systemctl stop firewalld
# 开启防火墙
systemctl start firewalld
# 查看防火墙状态
systemctl status firewalld
# 查看防火墙规则
firewall-cmd --list-all
# 查询端口是否开放
firewall-cmd --query-port=80/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 关闭80端口
firewall-cmd --permanent --remove-port=8080/tcp
# 重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
14.fastcgi安装
使用的是分布式编程资料里的安装包,这个fastcgi现在应该不更新维护了
spawncgi