同游在异境

Luka James' Blog

同游在异境

CentOS7 环境配置

  一般来说,公司里使用的生产环境都是这个系统。对于这个情况,我们需要对环境进行一些配置。下面是我对系统配置的一些心得和经历。

镜像源问题

  CentOS7 已经不再被官方支持了。下载镜像时需要从镜像站下载。如果镜像站访问失败,可以使用我提供的 ISO 镜像文件

java17 安装

Oracle 官网下载对应芯片的 Java 安装包

这里也可以通过 SFTP 的方式进行文件传输

在文件夹中解压

tar -zxvf java17_linux...

重写 /etc/profile 文件(如下)

1
2
3
4
#java_home
export JAVA_HOME=/usr/lib/jvm/java-17
export CLASSPATH=$JAVA_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH

刷新 Java 配置

source /etc/profile

maven 安装

maven 官网下载对应压缩包

这里可以通过 SFTP 进行文件传输

在相应文件夹中解压

tar -zxvf apach-maven-XXX.tar.gz

重写 /etc/profile 文件(如下)

1
2
3
#maven_home
export MAVEN_HOME=/usr/lib/mavenX.X.X
export PATH=$MAVEN_HOME/bin:$PATH

刷新 maven 配置

source /etc/profile

高版本 Git 安装

Git 官网下载 CentOS 系统对应的安装包

地址:https://mirrors.edge.kernel.org/pub/software/scm/git/

安装源码编译所需要的依赖

1
2
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum -y install gcc-c++ perl-ExtUtils-MakeMaker

解压文件

tar -xvf git-*version*.tar.xz

配置、编译、安装

1
2
3
./configure --prefix=/usr/lib/git
make profix=/usr/lib/git
make install

重写 /etc/profile文件(如下)

1
2
3
#Git环境变量
export GIT_HOME=/usr/lib/git
export PATH=$PATH:$GIT_HOME/bin

刷新 Git 配置

source /etc/profile

MySQL 安装

添加 rpm

rpm -Uvh platform-and-version-specific-package-name.rpm
例:https://dev.mysql.com/get/mysql80-community-release-el7-7.noarch.rpm

添加 GPG 公钥

新建文件 mysql_pubkey.asc 如下

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: SKS 1.1.6
Comment: Hostname: pgp.mit.edu

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
sTSKHe+QnnnoFmu4gnmDU31i
=Xqbo
-----END PGP PUBLIC KEY BLOCK-----

rpm 中新增检验

rpm --import mysql_pubkey.asc

正式安装 MySQL Community Server(默认 8.0 以上版本)

yum install -y mysql-community-server

启动 MySQL 服务

systemctl start mysqld

查看临时 root 密码

grep 'temporary password' /var/log/mysqld.log

登录后重置 root 密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Tieth@121308';

新建用户并赋权远程访问

1
2
3
create user 'remote'@'%' identified by 'Tieth@121308';
grant all privileges on *.* to 'remote'@'%' with grant option;
flush privileges;

打开防火墙 3306 端口

firewall-cmd --add-port=3306/tcp --permanent

Docker 安装

官方文档地址:https://docs.docker.com/engine/install/centos/

卸载旧版本 docker

1
2
3
4
5
6
7
8
sudo yum -y remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

根据仓库进行安装

1
2
3
4
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker Engine

sudo yum install -y docker-ce docker-ce-cli docker-compose-plugin

启动 docker 服务

sudo systemctl start docker

Nginx 安装

方式一:官网推荐方式

安装依赖

sudo yum install yum-utils

设置仓库信息

新增文件并编辑
touch /etc/yum.repos.d/nginx.repo

text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

注意
如果想要使用稳定版本,需要在安装前使用以下命令切换:
sudo yum-config-manager --enable nginx-mainline

安装 Nginx

sudo yum install -y nginx

注意:
1. 主要配置地址:/etc/nginx/nginx.conf
2. 配置文件存放地址:/etc/nginx/conf.d
Nginx 配置时,新增配置文件即可,主要配置中已经包含了该地址
3. 页面存放地址:/usr/share/nginx/html
其他页面存放在该文件夹下即可

方式二:源码编译方式

安装依赖

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

下载安装包并解压

官方网站:http://nginx.org/en/download.html
下载命令:wget http://nginx.org/download/nginx-{version}.tar.gz
解压命令:tar -zxvf nginx-{version}.tar.gz

进入目录并进行编译

./configure [--args]<可多参数>
以下为参数说明:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
--help
打印帮助消息。
--prefix=path
定义一个目录,将用于存储服务器文件。这个目录还将用于所有由 configure 设置的相对路径(除了库源文件的路径)以及 nginx.conf 配置文件。默认情况下,它设置为 /usr/local/nginx。
--sbin-path=path
设置 nginx 可执行文件的名称。该名称仅在安装期间使用。默认情况下,该文件名为 prefix/sbin/nginx.
--modules-path=path
定义将安装 nginx 动态模块的目录。默认情况下prefix/modules使用该目录。
--conf-path=path
设置了 nginx.conf 配置文件的名称。如果需要,可以通过在命令行参数中指定 `-c file` 来随时使用不同的配置文件启动 Nginx。默认情况下,配置文件的名称设置为 `prefix/conf/nginx.conf`。
--error-log-path=path
设置主要错误、警告和诊断文件的名称。nginx.conf安装后,始终可以使用 error_log指令在配置文件中更改文件名 。默认情况下,该文件名为 prefix/logs/error.log.
--pid-path=path
nginx.pid设置将存储主进程的进程 ID 的文件 的名称。nginx.conf安装后,始终可以使用 pid指令在配置文件中更改文件名 。默认情况下,该文件名为 prefix/logs/nginx.pid.
--lock-path=path
设置锁定文件名称的前缀。nginx.conf安装后,始终可以使用 lock_file指令在配置文件中更改该值 。默认值为 prefix/logs/nginx.lock。
--user=name
设置非特权用户的名称,其凭据将由工作进程使用。nginx.conf安装后,始终可以使用 用户指令在配置文件中更改名称 。默认用户名是nobody。
--group=name
设置工作进程将使用其凭据的组的名称。nginx.conf安装后,始终可以使用 用户指令在配置文件中更改名称 。默认情况下,组名称设置为非特权用户的名称。
--build=name
设置可选的 nginx 构建名称。
--builddir=path
设置构建目录。
--with-select_module
--without-select_module
启用或禁用构建允许服务器使用该select()方法的模块。如果平台似乎不支持更合适的方法(例如 kqueue、epoll 或 /dev/poll),则会自动构建此模块。
--with-poll_module
--without-poll_module
启用或禁用构建允许服务器使用该poll()方法的模块。如果平台似乎不支持更合适的方法(例如 kqueue、epoll 或 /dev/poll),则会自动构建此模块。
--with-threads
允许使用 线程池。
--with-file-aio
允许在 FreeBSD 和 Linux 上使用 异步文件 I/O (AIO)。
--with-http_ssl_module
允许构建一个向 HTTP 服务器添加HTTPS 协议支持的 模块 。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
--with-http_v2_module
允许构建提供对HTTP/2 支持的模块 。默认情况下不构建此模块。
--with-http_v3_module
允许构建提供对HTTP/3 支持的模块 。默认情况下不构建此模块。建议使用提供 HTTP/3 支持的 SSL 库来构建和运行此模块,例如 BoringSSL、 LibreSSL或 QuicTLS。否则,如果使用OpenSSL库,将使用不支持QUIC 早期数据的OpenSSL兼容层。
--with-http_realip_module
允许构建 ngx_http_realip_module 模块,将客户端地址更改为指定标头字段中发送的地址。默认情况下不构建此模块。
--with-http_addition_module
允许构建 ngx_http_addition_module 模块,在响应之前和之后添加文本。默认情况下不构建此模块。
--with-http_xslt_module
--with-http_xslt_module=dynamic
允许构建 ngx_http_xslt_module 模块,该模块使用一个或多个 XSLT 样式表转换 XML 响应。默认情况下不构建此模块。构建和运行此模块需要 libxml2和 libxslt库。
--with-http_image_filter_module
--with-http_image_filter_module=dynamic
允许构建 ngx_http_image_filter_module 模块来转换 JPEG、GIF、PNG 和 WebP 格式的图像。默认情况下不构建此模块。
--with-http_geoip_module
--with-http_geoip_module=dynamic
允许构建 ngx_http_geoip_module 模块,该模块根据客户端 IP 地址和预编译的 MaxMind数据库创建变量。默认情况下不构建此模块。
--with-http_sub_module
允许构建 ngx_http_sub_module 模块,该模块通过用一个指定字符串替换另一个字符串来修改响应。默认情况下不构建此模块。
--with-http_dav_module
允许构建 ngx_http_dav_module 模块,该模块通过 WebDAV 协议提供文件管理自动化。默认情况下不构建此模块。
--with-http_flv_module
允许构建 ngx_http_flv_module 模块,该模块为 Flash 视频 (FLV) 文件提供伪流服务器端支持。默认情况下不构建此模块。
--with-http_mp4_module
允许构建 ngx_http_mp4_module 模块,为 MP4 文件提供伪流服务器端支持。默认情况下不构建此模块。
--with-http_gunzip_module
允许构建 ngx_http_gunzip_moduleContent-Encoding: gzip模块,为不支持“gzip”编码方法的客户端使用 “”解压缩响应。默认情况下不构建此模块。
--with-http_gzip_static_module
允许构建 ngx_http_gzip_static_module 模块,该模块允许发送带有“ .gz”文件扩展名的预压缩文件而不是常规文件。默认情况下不构建此模块。
--with-http_auth_request_module
允许构建 ngx_http_auth_request_module 模块,该模块根据子请求的结果实现客户端授权。默认情况下不构建此模块。
--with-http_random_index_module
允许构建 ngx_http_random_index_module 模块,该模块处理以斜杠字符(' /')结尾的请求,并在目录中选择一个随机文件作为索引文件。默认情况下不构建此模块。
--with-http_secure_link_module
允许构建 ngx_http_secure_link_module 模块。默认情况下不构建此模块。
--with-http_degradation_module
允许构建 ngx_http_degradation_module模块。默认情况下不构建此模块。
--with-http_slice_module
允许构建 ngx_http_slice_module 模块,该模块将请求拆分为子请求,每个子请求返回一定范围的响应。该模块提供了更有效的大响应缓存。默认情况下不构建此模块。
--with-http_stub_status_module
允许构建 ngx_http_stub_status_module 模块,该模块提供对基本状态信息的访问。默认情况下不构建此模块。
--without-http_charset_module
禁用构建 ngx_http_charset_module 模块,该模块将指定的字符集添加到“Content-Type”响应标头字段,并且还可以将数据从一种字符集转换为另一种字符集。
--without-http_gzip_module
禁用构建压缩HTTP 服务器响应的 模块。构建和运行该模块需要 zlib 库。
--without-http_ssi_module
禁用构建 ngx_http_ssi_module 模块来处理通过它的响应中的 SSI(服务器端包含)命令。
--without-http_userid_module
禁用构建 ngx_http_userid_module 模块来设置适合客户端识别的 cookie。
--without-http_access_module
禁用构建 允许限制对某些客户端地址的访问的 ngx_http_access_module模块。
--without-http_auth_basic_module
禁用构建 ngx_http_auth_basic_module 模块,该模块允许通过使用“HTTP 基本身份验证”协议验证用户名和密码来限制对资源的访问。
--without-http_mirror_module
禁用构建 ngx_http_mirror_module 模块,该模块通过创建后台镜像子请求来实现原始请求的镜像。
--without-http_autoindex_module
禁用构建 ngx_http_autoindex_module 模块来处理以斜杠字符 (' /') 结尾的请求,并生成目录列表,以防 ngx_http_index_module模块找不到索引文件。
--without-http_geo_module
禁用构建 ngx_http_geo_module 模块,该模块根据客户端 IP 地址创建其值的变量。
--without-http_map_module
禁用构建 ngx_http_map_module 模块,该模块创建其值取决于其他变量值的变量。
--without-http_split_clients_module
禁用构建 ngx_http_split_clients_module 模块,该模块为 A/B 测试创建变量。
--without-http_referer_module
禁用构建 ngx_http_referer_module 模块,该模块可以阻止“Referer”标头字段中具有无效值的请求访问站点。
--without-http_rewrite_module
禁止构建允许 HTTP 服务器重定向请求和更改请求 URI 的 模块 。构建和运行该模块需要 PCRE 库。
--without-http_proxy_module
禁用构建 HTTP 服务器 代理模块。
--without-http_fastcgi_module
禁用构建 将请求传递到 FastCGI 服务器的 ngx_http_fastcgi_module模块。
--without-http_uwsgi_module
禁用构建 将请求传递到 uwsgi 服务器的 ngx_http_uwsgi_module模块。
--without-http_scgi_module
禁用构建 将请求传递到 SCGI 服务器的 ngx_http_scgi_module模块。
--without-http_grpc_module
禁用构建 将请求传递到 gRPC 服务器的 ngx_http_grpc_module模块。
--without-http_memcached_module
禁用构建 从 memcached 服务器获取响应的ngx_http_memcached_module模块。
--without-http_limit_conn_module
禁用构建 ngx_http_limit_conn_module 模块来限制每个键的连接数,例如来自单个 IP 地址的连接数。
--without-http_limit_req_module
禁用构建 ngx_http_limit_req_module 模块来限制每个键的请求处理速率,例如来自单个 IP 地址的请求的处理速率。
--without-http_empty_gif_module
禁用构建发出单像素透明 GIF 的 模块 。
--without-http_browser_module
禁用构建 ngx_http_browser_module 模块,该模块创建其值取决于“User-Agent”请求标头字段的值的变量。
--without-http_upstream_hash_module
禁用构建实现哈希负载平衡方法 的模块 。
--without-http_upstream_ip_hash_module
禁用构建实现ip_hash负载平衡方法 的模块 。
--without-http_upstream_least_conn_module
禁用构建实现least_conn负载平衡方法 的模块 。
--without-http_upstream_random_module
禁用构建实现随机负载平衡方法 的模块 。
--without-http_upstream_keepalive_module
禁用构建提供上游服务器 连接缓存的 模块 。
--without-http_upstream_zone_module
禁用构建可以将上游组的运行时状态存储在共享内存 区域中的模块。
--with-http_perl_module
--with-http_perl_module=dynamic
允许构建 嵌入式 Perl 模块。默认情况下不构建此模块。
--with-perl_modules_path=path
定义一个保存 Perl 模块的目录。
--with-perl=path
设置 Perl 二进制文件的名称。
--http-log-path=path
设置 HTTP 服务器的主请求日志文件的名称。nginx.conf安装后,始终可以使用 access_log指令更改配置文件中的文件名 。默认情况下,该文件名为 prefix/logs/access.log.
--http-client-body-temp-path=path
定义一个目录,用于存储保存客户端请求主体的临时文件。nginx.conf安装后,始终可以使用 client_body_temp_path指令更改配置文件中的目录 。默认情况下,该目录名为 prefix/client_body_temp.
--http-proxy-temp-path=path
定义一个目录,用于存储带有从代理服务器接收到的数据的临时文件。nginx.conf安装后,始终可以使用 proxy_temp_path指令更改配置文件中的目录 。默认情况下,该目录名为 prefix/proxy_temp.
--http-fastcgi-temp-path=path
定义一个目录,用于存储从 FastCGI 服务器接收到的数据的临时文件。nginx.conf安装后,始终可以使用 fastcgi_temp_path指令在配置文件中更改目录 。默认情况下,该目录名为 prefix/fastcgi_temp.
--http-uwsgi-temp-path=path
定义一个目录,用于存储从 uwsgi 服务器接收到的数据的临时文件。nginx.conf安装后,始终可以使用 uwsgi_temp_path指令更改配置文件中的目录 。默认情况下,该目录名为 prefix/uwsgi_temp.
--http-scgi-temp-path=path
定义一个目录,用于存储包含从 SCGI 服务器接收到的数据的临时文件。nginx.conf安装后,始终可以使用 scgi_temp_path指令更改配置文件中的目录 。默认情况下,该目录名为 prefix/scgi_temp.
--without-http
禁用HTTP服务器。
--without-http-cache
禁用 HTTP 缓存。
--with-mail
--with-mail=dynamic
启用 POP3/IMAP4/SMTP 邮件代理服务器。
--with-mail_ssl_module
允许构建一个 向邮件代理服务器添加SSL/TLS 协议支持的模块。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
--without-mail_pop3_module
禁用邮件代理服务器中的 POP3协议。
--without-mail_imap_module
禁用邮件代理服务器中的 IMAP协议。
--without-mail_smtp_module
禁用邮件代理服务器中的 SMTP协议。
--with-stream
--with-stream=dynamic
允许构建 用于通用 TCP/UDP 代理和负载平衡的流模块。默认情况下不构建此模块。
--with-stream_ssl_module
允许构建一个 向流模块添加SSL/TLS 协议支持的模块。默认情况下不构建此模块。构建和运行此模块需要 OpenSSL 库。
--with-stream_realip_module
允许构建 ngx_stream_realip_module 模块,将客户端地址更改为 PROXY 协议标头中发送的地址。默认情况下不构建此模块。
--with-stream_geoip_module
--with-stream_geoip_module=dynamic
允许构建 ngx_stream_geoip_module 模块,该模块根据客户端 IP 地址和预编译的 MaxMind数据库创建变量。默认情况下不构建此模块。
--with-stream_ssl_preread_module
允许构建 ngx_stream_ssl_preread_module模块,该模块允许从ClientHello消息 中提取信息而 无需终止 SSL/TLS。默认情况下不构建此模块。
--without-stream_limit_conn_module
禁用构建 ngx_stream_limit_conn_module 模块来限制每个键的连接数,例如来自单个 IP 地址的连接数。
--without-stream_access_module
禁用构建 允许限制对某些客户端地址的访问的 ngx_stream_access_module模块。
--without-stream_geo_module
禁用构建 ngx_stream_geo_module 模块,该模块根据客户端 IP 地址创建其值的变量。
--without-stream_map_module
禁用构建 ngx_stream_map_module 模块,该模块创建其值取决于其他变量值的变量。
--without-stream_split_clients_module
禁用构建 ngx_stream_split_clients_module 模块,该模块为 A/B 测试创建变量。
--without-stream_return_module
禁用构建 ngx_stream_return_module 模块,该模块将某些指定值发送到客户端,然后关闭连接。
--without-stream_set_module
禁用构建 为变量设置值的 ngx_stream_set_module模块。
--without-stream_upstream_hash_module
禁用构建实现哈希负载平衡方法 的模块 。
--without-stream_upstream_least_conn_module
禁用构建实现least_conn负载平衡方法 的模块。
--without-stream_upstream_random_module
禁用构建实现随机负载平衡方法 的模块。
--without-stream_upstream_zone_module
禁用构建可以将上游组的运行时状态存储在共享内存 区域中的模块。
--with-google_perftools_module
允许构建 ngx_google_perftools_module模块,该模块允许使用Google Performance Tools 分析 nginx 工作进程 。该模块适用于 nginx 开发人员,默认情况下不构建。
--with-cpp_test_module
允许构建 ngx_cpp_test_module模块。
--add-module=path
启用外部模块。
--add-dynamic-module=path
启用外部动态模块。
--with-compat
启用动态模块兼容性。
--with-cc=path
设置 C 编译器的名称。
--with-cpp=path
设置 C 预处理器的名称。
--with-cc-opt=parameters
设置将添加到 CFLAGS 变量的附加参数。在FreeBSD下使用系统PCRE库时, --with-cc-opt="-I /usr/local/include" 应指定。select()如果需要增加 支持的文件数量,也可以在这里指定,例如: --with-cc-opt="-D FD_SETSIZE=2048"。
--with-ld-opt=parameters
设置链接期间将使用的附加参数。在FreeBSD下使用系统PCRE库时, --with-ld-opt="-L /usr/local/lib" 应指定。
--with-cpu-opt=cpu
允许按指定的 CPU 进行构建: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, sparc32, sparc64, ppc64。
--without-pcre
禁用 PCRE 库的使用。
--with-pcre
强制使用 PCRE 库。
--with-pcre=path
设置 PCRE 库源的路径。需要从PCRE站点下载库 分发并提取。其余的由 nginx./configure和 完成make。location指令中的正则表达式支持和 ngx_http_rewrite_module模块需要该库 。
--with-pcre-opt=parameters
为 PCRE 设置附加构建选项。
--with-pcre-jit
构建具有“即时编译”支持的 PCRE 库(1.1.12, pcre_jit指令)。
--without-pcre2
禁用 PCRE2 库而不是原始 PCRE 库 (1.21.5)。
--with-zlib=path
设置 zlib 库源的路径。库发行版(版本 1.1.3 - 1.3)需要从zlib站点下载 并解压。其余的由 nginx./configure和 完成make。ngx_http_gzip_module模块需要该库 。
--with-zlib-opt=parameters
为 zlib 设置附加构建选项。
--with-zlib-asm=cpu
允许使用针对指定 CPU 之一优化的 zlib 汇编程序源: pentium、pentiumpro。
--with-libatomic
强制使用 libatomic_ops 库。
--with-libatomic=path
设置 libatomic_ops 库源的路径。
--with-openssl=path
设置 OpenSSL 库源的路径。
--with-openssl-opt=parameters
为 OpenSSL 设置附加构建选项。
--with-debug
启用调试日志。
1
2
3
4
5
6
7
./configure
--sbin-path=/usr/local/nginx/nginx
--conf-path=/usr/local/nginx/nginx.conf
--pid-path=/usr/local/nginx/nginx.pid
--with-http_ssl_module
--with-pcre=../pcre2-10.39
--with-zlib=../zlib-1.2.11

安装 Nginx

make && make install

注意:
安装目录、配置目录及页面目录是通过编译参数定义的,未被配置的选项将会使用默认配置

0%