部署弹性云服务器
- 配置JAVA环境
- 登录弹性云服务器。
- 运行如下命令查看是否已安装jdk-1.8.0。
java -version
如果显示如下示例内容,则表示已安装jdk-1.8.0,可以跳过该环境配置流程,如果不 是则执行下一步。
[root@server ~]# java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
- 如果显示版本不是jdk-1.8.0版本,则需要执行如下命令a查看已安装的jdk的rpm包,并使用命令b卸载已安装的jdk。
命令a:rpm -qa | grep jdk 命令b:rpm -e [命令a的结果] --nodeps
- 运行如下命令通过yum安装jdk-1.8.0。
yum -y install java-1.8.0-openjdk*
- 安装完jdk-1.8.0后再次运行如下命令。
java -version
如果显示如下示例内容,则表示安装jdk-1.8.0成功。
[root@server ~]# java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.65-b01, mixed mode)
- 修改远程端口
- 运行如下命令查看防火墙状态。
systemctl status firewalld
如果显示如下示例内容中的Active状态为active (running),则表示防火墙为正常启动 状态。
[root@server ~]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-08-20 22:14:55 CST; 4 days ago Docs: man:firewalld(1) Main PID: 713 (firewalld) CGroup: /system.slice/firewalld.service └─713 /usr/bin/python2 -Es /usr/sbin/firewalld --nofork --nopidmode)
如果不是则运行如下命令a启动防火墙,运行命令b设置防火墙开机自启动。
命令a:systemctl start firewalld 命令b:systemctl enable firewalld
服务器防火墙开启后,所有未开放的端口将被禁止访问,请在“云服务器控制台->安全组->入方向规则”页面将22、8485等需要开放的端口提前添加到入方向规则中,然后再执行如下步骤,避免云服务器重新连接后无法远程连接。
- 防火墙启动后,运行如下命令开放22,8485端口。
firewall-cmd --zone=public --add-port=22/tcp --permanent firewall-cmd --zone=public --add-port=8485/tcp --permanent
- 运行如下命令重载防火墙,使得添加的端口生效。
firewall-cmd --reload
- 运行如下命令查看防火墙开放的端口。
firewall-cmd --list-port
- 运行如下命令修改远程端口配置文件,将远程端口配置为8485。
sed -i 's/#Port 22/Port 8485/g' /etc/ssh/sshd_config
- 运行如下命令重启ssh服务,使得配置文件生效。
systemctl restart sshd
- 运行如下命令查看远程端口是否已修改。
netstat -nultp | grep sshd
如果显示如下示例内容,则表示远程端口已修改为8485。
[root@server ~]# netstat -nultp | grep sshd Tcp 0 0 0.0.0.0:8485 0.0.0.0:* LISTEN 1296/sshd tcp6 0 0 :::8485 :::* LISTEN 1296/sshd
- 运行如下命令查看防火墙状态。
- 部署nginx
- 运行如下命令下载官方nginx安装包。
wget -C /opt/ http://nginx.org/download/nginx-1.18.0.tar.gz
- 运行如下命令到/opt目录下并解压nginx-1.18.0.tar.gz压缩包。
cd /opt | tar -zxvf nginx-1.18.0.tar.gz
- 运行如下命令安装nginx运行环境。
yum -y install gcc pcre-devel openssl openssl-devel
- 运行如下命令a进入nginx解压的目录,运行命令b安装nginx。
命令a:cd nginx-1.18.0/ 命令b:./configure --prefix=/opt/nginx \ --conf-path=/opt/nginx/conf/nginx.conf \ --pid-path=/opt/nginx/conf/nginx.pid \ --lock-path=/opt/nginx.lock \ --error-log-path=/opt/nginx/logs/error.log \ --http-log-path=/opt/nginx/logs/access.log \ --with-http_gzip_static_module \ --http-client-body-temp-path=/opt/nginx/client \ --http-proxy-temp-path=/opt/nginx/proxy \ --http-fastcgi-temp-path=/opt/nginx/fastcgi \ --http-uwsgi-temp-path=/opt/nginx/uwsgi \ --http-scgi-temp-path=/opt/nginx/scgi \ --with-http_ssl_module \ --with-stream_ssl_module
- 运行如下命令进行编译。
make -j && make install
如果编译执行完毕出现如下图所示结果,则表示编译成功。
图1 nginx编译结果
- 运行如下命令重命名nginx.conf文件,对nginx配置文件进行备份。
mv /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf.bak
- 运行如下命令编辑nginx配置文件。
vi /opt/nginx/conf/nginx.conf
配置文件nginx.conf示例如下:
worker_processes auto; worker_rlimit_nofile 65535; user root; error_log /opt/nginx/logs/error.log warn; events { use epoll; worker_connections 65535; multi_accept on; } http { include mime.types; default_type application/octet-stream; charset utf-8; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; server_names_hash_bucket_size 128; client_header_buffer_size 64k; client_max_body_size 100m; client_body_buffer_size 1024k; large_client_header_buffers 4 64k; server_tokens off; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 120; ssl_session_cache shared:SSL:50m; ssl_session_timeout 5m; server_name_in_redirect off; proxy_connect_timeout 300; proxy_read_timeout 180; proxy_send_timeout 180; proxy_buffering off; proxy_buffer_size 128k; proxy_buffers 100 128k; proxy_busy_buffers_size 128k; proxy_temp_file_write_size 128k; gzip on; gzip_min_length 1k; gzip_buffers 4 32k; gzip_comp_level 6; gzip_types text/plain text/css text/xml text/javascript application/json application/x-javascript application/xml application/xml+rss; open_file_cache max=204800 inactive=30s; open_file_cache_min_uses 2; open_file_cache_valid 30s; open_file_cache_errors on; limit_conn_zone $binary_remote_addr zone=TotalConnLimitZone:10m ; limit_conn_log_level notice; limit_req_zone $binary_remote_addr zone=ConnLimitZone:10m rate=500r/s; limit_req_log_level notice; include vhosts/*.conf; }
- 运行如下命令测试nginx配置文件是否有误。
/opt/nginx/sbin/nginx -t
如果出现如下示例内容,则nginx测试无误。
[root@server ~]# /opt/nginx/sbin/nginx -t nginx: the configuration file /opt/nginx/conf/nginx.conf syntax is ok nginx: configuration file /opt/nginx/conf/nginx.conf test is successful
- 运行如下命令启动nginx。
/opt/nginx/sbin/nginx
- 运行如下命令在服务器防火墙打开nginx的监听端口(默认为80),按照1.3.2.4 配置弹性云服务器中的流程在安全组添加入方向规则。
firewall-cmd --zone=public --add-port=80/tcp --permanent
运行如下命令重载防火墙,使得端口开放生效。
firewall-cmd --reload
- 打开浏览器,在地址栏里输入“http://云服务器的公网IP地址:80/”。
- 如果访问成功,出现如下图所示nginx页面,说明nginx配置成功。
图2 nginx访问
- 运行如下命令下载官方nginx安装包。