更新时间:2024-04-19 GMT+08:00
分享

部署弹性云服务器

  • 配置JAVA环境
    1. 登录弹性云服务器。
    2. 运行如下命令查看是否已安装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)
    3. 如果显示版本不是jdk-1.8.0版本,则需要执行如下命令a查看已安装的jdk的rpm包,并使用命令b卸载已安装的jdk。
      命令a:rpm -qa | grep jdk
      命令b:rpm -e [命令a的结果] --nodeps
    4. 运行如下命令通过yum安装jdk-1.8.0。
      yum -y install java-1.8.0-openjdk*
    5. 安装完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)
  • 修改远程端口
    1. 运行如下命令查看防火墙状态。
      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等需要开放的端口提前添加到入方向规则中,然后再执行如下步骤,避免云服务器重新连接后无法远程连接。

    2. 防火墙启动后,运行如下命令开放22,8485端口。
      firewall-cmd --zone=public --add-port=22/tcp --permanent
      firewall-cmd --zone=public --add-port=8485/tcp --permanent
    3. 运行如下命令重载防火墙,使得添加的端口生效。
      firewall-cmd --reload
    4. 运行如下命令查看防火墙开放的端口。
      firewall-cmd --list-port
    5. 运行如下命令修改远程端口配置文件,将远程端口配置为8485。
      sed -i 's/#Port 22/Port 8485/g' /etc/ssh/sshd_config
    6. 运行如下命令重启ssh服务,使得配置文件生效。
      systemctl restart sshd
    7. 运行如下命令查看远程端口是否已修改。
      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
    1. 运行如下命令下载官方nginx安装包。
      wget -C /opt/ http://nginx.org/download/nginx-1.18.0.tar.gz
    2. 运行如下命令到/opt目录下并解压nginx-1.18.0.tar.gz压缩包。
      cd /opt | tar -zxvf nginx-1.18.0.tar.gz
    3. 运行如下命令安装nginx运行环境。
      yum -y install gcc pcre-devel openssl openssl-devel
    4. 运行如下命令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 
    5. 运行如下命令进行编译。
      make -j && make install 

      如果编译执行完毕出现如下图所示结果,则表示编译成功。

      图1 nginx编译结果
    6. 运行如下命令重命名nginx.conf文件,对nginx配置文件进行备份。
      mv /opt/nginx/conf/nginx.conf /opt/nginx/conf/nginx.conf.bak
    7. 运行如下命令编辑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;
      }
    8. 运行如下命令测试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
    9. 运行如下命令启动nginx。
      /opt/nginx/sbin/nginx
    10. 运行如下命令在服务器防火墙打开nginx的监听端口(默认为80),按照1.3.2.4 配置弹性云服务器中的流程在安全组添加入方向规则。
      firewall-cmd --zone=public --add-port=80/tcp --permanent

      运行如下命令重载防火墙,使得端口开放生效。

      firewall-cmd --reload
    11. 打开浏览器,在地址栏里输入“http://云服务器的公网IP地址:80/”。
    12. 如果访问成功,出现如下图所示nginx页面,说明nginx配置成功。
      图2 nginx访问
分享:

    相关文档

    相关产品