服务器开发学习笔记(五)—— 搭建阿里服务器ECS

1、配置实例密码(用户名默认为root)

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第1张图片

 

如果密码输入错误,则使用长复制进行登录(ECS自带的远程登录)

2、windows上远程登录(工具putty或者secureCRT)

(1)在远程连接之前,您必须完成以下工作:

  • 实例已经设置登录密码。如果未设置或密码丢失,请 重置实例密码
  • 实例所在的安全组必须添加以下安全组规则(具体配置请参考 安全组规则的典型应用):
  • 专有网络里,入方向允许访问 SSH(22)端口。

(2)具体设置

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第2张图片

 服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第3张图片

(3) 设置安全组规则

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第4张图片 

安全组具体信息设定(还有一个8080端口)

3、搭建javaweb环境

这里列出的软件版本仅代表写作本文档使用的版本。操作时,请您以实际软件版本为准。

  • 操作系统:CentOS 7.4
  • Tomcat 版本:Tomcat 8.5.23
  • JDK 版本:JDK 1.8.0_141

安装前准备

  • CentOS 7.4 系统默认开启了防火墙。您可以关闭防火墙,也可以参考官网文档在防火墙里添加规则,放行 80、443 或 8080 端口入方向规则
  • 关闭防火墙:systemctl stop firewalld.service
  • 关闭防火墙开机自启动功能:systemctl disable firewalld.service
  • 创建一般用户 www,运行 tomcat:useradd www
  • 在安全组中放行 8080 端口。具体操作,请参考 添加安全组规则
  • 创建网站根目录:mkdir -p /data/wwwroot/default
  • 新建 Tomcat 测试页面:echo Tomcat test > /data/wwwroot/default/index.jsp &,chown -R www.www /data/wwwroot

下载源代码

wget https://mirrors.aliyun.com/apache/tomcat/tomcat-8/v8.5.35/bin/apache-tomcat-8.5.35.tar.gz

说明:源代码版本会不断升级。您可以在 https://mirrors.aliyun.com/apache/tomcat/tomcat-8/ 目录下获取合适的安装包地址。

wget http://mirrors.linuxeye.com/jdk/jdk-8u141-linux-x64.tar.gz

说明:源代码版本会不断升级。您可以在 http://mirrors.linuxeye.com/jdk/ 目录下获取合适的安装包地址。

4、安装 JDK

按以下步骤安装 JDK。

新建一个目录:

mkdir /usr/java

解压 jdk-8u141-linux-x64.tar.gz 到 /usr/java。

tar xzf jdk-8u141-linux-x64.tar.gz -C /usr/java

设置环境变量:

编辑 /etc/profile:vi /etc/profile。

按 i 键进入编辑模式。

在 /etc/profile 文件中添加以下信息:

#set java environment

export JAVA_HOME=/usr/java/jdk1.8.0_141

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

export PATH=$JAVA_HOME/bin:$PATH

按 Esc 键退出编辑模式,输入 :wq 保存并关闭文件。

加载环境变量:source /etc/profile。

查看 jdk 版本。当出现 jdk 版本信息时,表示 JDK 已经安装成功。

java -version

java version "1.8.0_141"Java(TM) SE Runtime Environment (build 1.8.0_141-b15)

Java HotSpot(TM) 64-Bit Server VM (build 25.141-b15, mixed mode)

5、安装 Tomcat

按以下步骤安装 Tomcat。

  1. 依次运行以下命令解压 apache-tomcat-8.5.23.tar.gz,重命名 Tomcat 目录,并设置用户权限。
  1. tar xzf apache-tomcat-8.5.38.tar.gz
  2. mv apache-tomcat-8.5.38 /usr/local/tomcat/
  3. chown -R www.www /usr/local/tomcat/
     

说明:在 /usr/local/tomcat/ 目录里:

  • bin 目录中存放 Tomcat 的一些脚本文件,包含启动和关闭 Tomcat 服务脚本。
  • conf:存放 Tomcat 服务器的各种全局配置文件,其中最重要的是 server.xml 和 web.xml。
  • webapps:Tomcat 的主要 Web 发布目录,默认情况下把 Web 应用文件放于此目录。
  • logs:存放 Tomcat 执行时的日志文件。
  1. 配置 server.xml 文件(普通配置无需以下处理):

切换到 /usr/local/tomcat/conf/ 目录:cd /usr/local/tomcat/conf/。

重命名 server.xml 文件:mv server.xml server.xml_bk。

创建一个新的 server.xml 文件:

运行命令 vi server.xml。

按 i 键进入编辑模式。

添加以下内容:



 











  





  

  

    

      

    

    

      

      

    

  



设置 JVM 内存参数:

运行命令 vi /usr/local/tomcat/bin/setenv.sh, 创建 /usr/local/tomcat/bin/setenv.sh。

按 i 键进入编辑模式。添加以下内容:

JAVA_OPTS=’-Djava.security.egd=file:/dev/./urandom -server -Xms256m -Xmx496m -Dfile.encoding=UTF-8’

按 Esc 键退出编辑模式,输入 :wq 保存并退出文件。

设置 Tomcat 自启动脚本:

下载脚本:wget https://github.com/lj2007331/oneinstack/raw/master/init.d/Tomcat-init

重命名 Tomcat-init。mv Tomcat-init /etc/init.d/tomcat

添加执行权限:chmod +x /etc/init.d/tomcat

设置启动脚本 JAVA_HOME:sed -i 's@^export JAVA_HOME=.*@export JAVA_HOME=/usr/java/jdk1.8.0_191@' /etc/init.d/tomcat

设置自启动:chkconfig --add tomcat,chkconfig tomcat on

启动 Tomcat:service tomcat start

在浏览器地址栏中输入 http://ip:8080 进行访问。出现如图所示页面时表示安装成功。

阿里云官方解释:

https://help.aliyun.com/document_detail/51376.html?spm=5176.doc52806.2.6.lx6zOv#h2-u4E0Bu8F7Du6E90u4EE3u7801

6、安装mysql

(1)配置YUM源

在MySQL官网中下载YUM源rpm安装包:http://dev.mysql.com/downloads/repo/yum/ 

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第5张图片

# 下载mysql源安装包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm

检查mysql源是否安装成功

shell> yum repolist enabled | grep "mysql.*-community.*"

 

看到上图所示表示安装成功。 

可以修改vim /etc/yum.repos.d/mysql-community.repo源,改变默认安装的mysql版本。比如要安装5.6版本,将5.7源的enabled=1改成enabled=0。然后再将5.6源的enabled=0改成enabled=1即可。改完之后的效果如下所示:

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第6张图片

(2)安装MySQL

shell> yum install mysql-community-server

(3)启动MySQL服务

shell> systemctl start mysqld

查看MySQL的启动状态

shell> systemctl status mysqld
● mysqld.service - MySQL Server
   Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
   Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
 Main PID: 2888 (mysqld)
   CGroup: /system.slice/mysqld.service
           └─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid

6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.

(4)开机启动

shell> systemctl enable mysqld
shell> systemctl daemon-reload

(5)修改root本地登录密码

mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改:

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

 

shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

或者

mysql> set password for 'root'@'localhost'=password('MyNewPass4!');

注意:mysql5.7默认安装了密码安全检查插件(validate_password),默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误,如下图所示: 

通过msyql环境变量可以查看密码策略的相关信息:

mysql> show variables like '%password%';

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第7张图片

 

validate_password_policy:密码策略,默认为MEDIUM策略 

validate_password_dictionary_file:密码策略文件,策略为STRONG才需要 

validate_password_length:密码最少长度 

validate_password_mixed_case_count:大小写字符长度,至少1个 

validate_password_number_count :数字至少1个 

validate_password_special_char_count:特殊字符至少1个 

上述参数是默认策略MEDIUM的密码检查规则。

共有以下几种密码策略:

 

策略

检查规则

0 or LOW

Length

1 or MEDIUM

Length; numeric, lowercase/uppercase, and special characters

2 or STRONG

Length; numeric, lowercase/uppercase, and special characters; dictionary file

MySQL官网密码策略详细说明:http://dev.mysql.com/doc/refman/5.7/en/validate-password-options-variables.html#sysvar_validate_password_policy

修改密码策略

在/etc/my.cnf文件添加validate_password_policy配置,指定密码策略

# 选择0(LOW),1(MEDIUM),2(STRONG)其中一种,选择2需要提供密码字典文件
validate_password_policy=0

如果不需要密码策略,添加my.cnf文件中添加如下配置禁用即可:

validate_password = off

重新启动mysql服务使配置生效:

systemctl restart mysqld

(6)添加远程登录用户

默认只允许root帐户在本地登录,如果要在其它机器上连接mysql,必须修改root允许远程连接,或者添加一个允许远程连接的帐户,为了安全起见,我添加一个新的帐户:

mysql> GRANT ALL PRIVILEGES ON *.* TO 'yangxin'@'%' IDENTIFIED BY 'Yangxin0917!' WITH GRANT OPTION;

(7)配置默认编码为utf8

修改/etc/my.cnf配置文件,在[mysqld]下添加编码配置,如下所示:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'

重新启动mysql服务,查看数据库默认编码如下所示:

服务器开发学习笔记(五)—— 搭建阿里服务器ECS_第8张图片

默认配置文件路径: 

配置文件:/etc/my.cnf 

日志文件:/var/log//var/log/mysqld.log 

服务启动脚本:/usr/lib/systemd/system/mysqld.service 

socket文件:/var/run/mysqld/mysqld.pid

MYSQL安装详细内容可以查看 

7、整合nginx和tomcat(静态资源缓存以及反向代理)

(1)反向代理

反向代理只需要修改nginx.conf文件即可。

cd  /usr/local/nginx/conf

vim nginx.conf(每一个语句后面需要加分号,否则无法启动nginx)

#user  nobody;
#配置用户和用户组
user www www;
#工作进程数,一般是CPU总核数
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    use   epoll; 
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #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;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;



    server {
        listen       80;
        server_name  120.78.132.200;#属于域名或者公网ip
        charset utf8;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

       location / {    #默认路径,最后一个匹配该路径
            root   html;
            index  index.html index.htm;  
           proxy_pass     http://120.78.132.200:8080;
        #以下配置一定要加
        proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }

        location ~ \.(jsp|do|action)$ {       #如果遇到jsp,do,action等跳转,则进入这个匹配
          proxy_pass  http://120.78.132.200:8080;
         #以下配置一定要加
        proxy_set_header Host $host;
           proxy_set_header X-Real-IP $remote_addr;
           proxy_set_header REMOTE-HOST $remote_addr;
           proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        }

        location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ {
           #静态资源文件访问路径
           root /usr/local/tomcat/webapps/studentSys;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

(2)tomcat设置默认根目录(不设置的话根目录为webapps下的ROOT文件夹,即tomcat首页,有猫的)

一般修改tomcat里面的server.xml就行

①vim /usr/local/tomcat/conf/server.xml

修改host标签(根据情况设置,以下不做阐述)

  path="/test" docBase="studentSys" debug="0" reloadable="true" >  

(访问路径:http://ip地址/test/*)

    

你可能感兴趣的:(Linux)