新服务器环境安装和项目部署流程

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
.cn 域名,1个 12个月
简介: 记录一下在服务器部署项目的过程,长期更新涉及:Java、tomcat、nginx、mysql、ssl、域名、服务器docker方式搭建服务器环境参考:使用docker快速搭建服务器环境环境阿里云ECS服务器、阿里云购买的域名、阿里云购买的sslCentOS 6.9 64位购买服务器配置安全组配置常用端口访问,比如22、8080、3306等购买域名购买域名为 xxxxx.com购买后,在阿里云里可以购买免费的ssl证书(百度有教)。

记录一下在服务器部署项目的过程,长期更新
涉及:Java、tomcat、nginx、mysql、ssl、域名、服务器
docker方式搭建服务器环境参考:使用docker快速搭建服务器环境

环境
  • 阿里云ECS服务器、阿里云购买的域名、阿里云购买的ssl
  • CentOS 6.9 64位
购买服务器
  • 配置安全组
    配置常用端口访问,比如22、8080、3306等

  • 购买域名

  1. 购买域名为 xxxxx.com
  2. 购买后,在阿里云里可以购买免费的ssl证书(百度有教)。
  3. 解析xxx.xxxxx.com到服务器ip
  4. 备案。国内服务器需要备案,否则无法通过域名访问到你的网站。你也可以选择使用https方式暂时免去备案
服务器环境配置
  • 远程登录服务器
    Windows下远程管理服务器软件:WinSCP
    Windows下SSH登录服务器软件:Xshell
    Mac下远程管理服务器软件:ForkLift
    Mac下SSH登录服务器软件:autossh工具

  • 下载Java
    安装包下载
    注意,需要手动下载,因为oracle下载Java的时候有个同意协议的操作,如果用命令行方式安装Java,会出问题。所以直接手动下载,然后上传到服务器内即可。我安装的是server-jre-8u181-linux-x64.tar.gz

  • 安装Java
    我的解压路径

/usr/java/

命令行操作

tar -zxvf jdk-8u161-linux-x64.tar.gz
vi /etc/profile 
source /etc/profile

vi编辑profile文件时,输入下面的文字(注意Java解压路径)

#set java environment 
JAVA_HOME=/usr/java/jdk1.8.0_161 
JRE_HOME=/usr/java/jdk1.8.0_161/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib 
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin 
export JAVA_HOME JRE_HOME CLASS_PATH PATH
  • 下载Tomcat
    下载地址
    和Java一样,手动下载,然后上传到服务器

  • 安装Tomcat
    把下载下来的压缩包解压到目录,我的解压路径

/usr/tomcat/

命令行操作

tar zxvf apache-tomcat-9.0.6.tar.gz
  • 设置Tomcat Host Manager 网页访问(可选)
    进入 tomcat根目录/conf/tomcat-users.xml,进入以下代码添加用户
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="admin123" roles="admin-gui,manager-gui"/>

这样admin这个用户就可以用网页登录Host Manager、Server Status和Manager App。如果不做此操作,日后要发布应用必须使用命令行。

  • 设置tomcat开机自启动(推荐)
    进入 /etc/rc.d/rc.local 加入以下配置,注意路径
export JAVA_HOME=/usr/java/jdk1.8.0_161
/usr/tomcat/apache-tomcat-9.0.6/bin/startup.sh start

然后设置rc.local为可执行文件,并重启服务器

chmod +x /etc/rc.d/rc.local
shutdown -r now

重启完成后重新登录服务器,检查tomcat是否启动。如果什么都不返回,则tomcat服务未开启

lsof -i:8080

如果报错找不到命令,则yum方式安装

yum install lsof
使用Nginx

如果需要在服务器里多域名访问多个项目,如公司产品和公司官网。则可以使用nginx进行代理。注意前提是购买的域名已经解析到了服务器(将ip解析到xxx.xxxxx.com)

需要注意的是,安装pcre的时候,在解压了pcre包后,进行make等操作成功以后,要将pcre文件夹放/usr/src下,而后在编译nginx时,需要这样:
./configure --with-pcre=/usr/src/pcre目录
make
make install
否则可能会报错找不到pcre
  1. 如果你要所有项目都使用https,则需要将他们配置在443端口的ssl配置节点。
  2. nginx访问静态资源可能会报错Permission Denied,此时应该讲nginx用户改为root,如代码里第一行
  3. 关于域名ssl证书的设置,阿里云里有教
  4. 阿里云可以配置免费ssl,但是只能配置单域名ssl

user  root; # 用户为root
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 {
    worker_connections  2048;
}


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 ;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;


    # HTTPS server 证书

    server {
        listen 443;
        server_name xxx.xxxxx.com; # 阿里云里配置的域名,此域名已经申请了ssl证书

        ssl on;
        root html;
        index index.html index.htm;
        ssl_certificate   cert/212312312321367.pem; #阿里云里下载的证书文件
        ssl_certificate_key  cert/2149412231235300167.key;#阿里云里下载的证书文件
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        
    # 访问 https://xxx.xxxxx.com/tomcat 可直接访问tomcat管理页面
        location /tomcat {
            proxy_pass   http://127.0.0.1:8080/manager/html;
            proxy_redirect  off;
            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header  X-Forwarded-For $proxy_add_x_forwarded_for;       
    }
        # 配置tomcat管理页的静态资源,不配置的话,访问tomcat管理页时图片等资源无法加载
        # 这里我将webapp/ROOT下的管理页静态资源复制到了 /usr/local/nginx/html/下
    location ~* \.(gif|jpg|jpeg|css|js|png)$ {
        root /usr/local/nginx/html/;
    }

    }

}

此时访问 https://xxx.xxxxx.com/manager就可以访问Tomcat管理页

安装Mysql

  • 检查系统是否安装其他版本的MYSQL数据
yum list installed | grep mysql
yum -y remove mysql-libs.x86_64
  • 安装MYSQL数据库

更新:简便安装方法:centos6.9安装mysql

准备工作

wget http://repo.mysql.com/mysql-community-release-el6-5.noarch.rpm
rpm -ivh mysql-community-release-el6-5.noarch.rpm
yum repolist all | grep mysql
yum install mysql-community-server -y
  • 设置为开机启动
chkconfig --list | grep mysqld
chkconfig mysqld on
  • 设置密码
/usr/bin/mysqladmin -u root password 123456
  • 设置远程访问(可选)
    root登录数据库,输入
# 注意填写root的密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'youpassword' WITH GRANT OPTION;
# 重载授权表
FLUSH PRIVILEGES;

如果设置后依旧无法访问,则检查服务器是否开启3306端口,或检查/etc/my.cnf里是否有bind-address=127.0.0.1,有则注释掉

相关文章
|
9天前
|
XML Java 应用服务中间件
Tomcat服务器的简介以及安装
Tomcat服务器的简介以及安装
23 3
|
13天前
|
网络协议 安全 Linux
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
在IntelliJ IDEA中使用固定公网地址远程SSH连接服务器环境进行开发
19 2
|
13天前
|
JavaScript 应用服务中间件 nginx
【项目部署系列教程】4. 将Vue项目部署到远程服务器
【项目部署系列教程】4. 将Vue项目部署到远程服务器
32 1
|
4天前
|
Java 数据格式
Java面试题:简述Java Socket编程的基本流程,包括客户端和服务器的创建与通信。
Java面试题:简述Java Socket编程的基本流程,包括客户端和服务器的创建与通信。
11 0
|
5天前
|
弹性计算 网络安全 数据安全/隐私保护
阿里云服务器新手入门:注册账号、实名认证申请免费云服务器全流程
注册阿里云账号,选择注册方式如密码、扫码或手机号,并完成验证码验证。接着进行实名认证,提供必要个人信息或企业证件。然后,在控制台选择云服务器ECS,点击“免费试用”申请,配置实例并设置登录密码。创建后,通过远程连接工具如SSH登录,开始使用服务器进行软件安装、应用部署等操作。阿里云提供详细文档支持。别忘了点击链接以直接试用。
22 0
|
9天前
|
JavaScript Linux 网络安全
若依修改,若依启动之后,网页端无法访问接口,宝塔和云服务器的端口都要放开,就好了,软件开发常见流程,后台端口就可以访问了
若依修改,若依启动之后,网页端无法访问接口,宝塔和云服务器的端口都要放开,就好了,软件开发常见流程,后台端口就可以访问了
|
9天前
|
关系型数据库 MySQL Java
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
软件开发2003 -Can·t to MySQL server on ‘xxxxxx‘(10038),宝塔初始化安装mysql,远程链接MySql注意事项,开始时服务器是没有放开端口的,宝塔也都开
|
9天前
|
运维
软件开发常见流程之下载安装宝塔,一台服务器安装一次,多台就重复这个步骤
软件开发常见流程之下载安装宝塔,一台服务器安装一次,多台就重复这个步骤
|
9天前
|
大数据 Linux 程序员
软件开发常见流程之服务器+Linux部署项目,会用服务器+Linux部署项目资料
软件开发常见流程之服务器+Linux部署项目,会用服务器+Linux部署项目资料
|
9天前
|
Web App开发
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问
软件开发常见流程之移动端调试方法,利用Chrome(谷歌浏览器)的模拟手机调试,搭建本地Web服务器,手机和服务器在一个局域网,通过手机访问服务器,使用服务器,利用ip实现域名访问