软件工程课程设计总结之部署篇

选择以阿里云ecs服务器部署

注意:以下的安装路径及版本以实际的位置为准,且涉及的端口需要在阿里云控制台安全组开发相应的端口号

1.软件下载

jdk1.8

mysql5.7

tomcat9

nginx

2.部署平台

Linux 发行版centos/ubuntu

3.Mysql部署

下载与安装MySQL:

这里采用Yum管理好了各种rpm包的依赖,能够从指定的服务器自动下载RPM包并且安装,所以在安装完成后必须要卸掉,否则会自动更新。

1.安装MySQL官方的yum repository

[root@localhost ~]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.下载rpm包

[root@localhost ~]# yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL服务

[root@localhost ~]# yum -y install mysql-community-server

最后会出现个complete!

4.启动MySQL服务

[root@localhost ~]# systemctl start  mysqld.service

看到类似下面的界面,或者以Starting MySqL server… started MysqlServer…结尾的就成功启动了

img

还有几个关于MySQL常用的命令:

重启:systemctl restart mysqld.service

停止:systemctl stop mysqld.service

查看状态:systemctl status mysqld.service

还可以配置MySQL的开机启动:

[root@woitumi-128 ~]# systemctl enable mysqld

[root@woitumi-128 ~]# systemctl daemon-reload   刚刚配置的服务需要让systemctl能识别,就必须刷新配置

关于登录MySQL:

登录命令:

[root@localhost ~]# mysql -u root -p

意思就是用root用户登录,然后准备输入密码。

第一次启动MySQL后,就会有临时密码,这个默认的初始密码在/var/log/mysqld.log文件中,我们可以用这个命令来查看:

grep "password" /var/log/mysqld.log

img

可是不知道是我输错密码还是不能复制粘贴,一直显示错误:

img

(好吧后面看看这个代码应该是 mysql -u root -p才对,可能这样输入命令就不会有错吧……)

然后我们还可以先跳过密码验证登录进MySQL:

停止服务:

systemctl stop mysqld.service

修改mMySQL的配置文件:

vi /etc/my.cnf

在最后加上配置:

skip-grant-tables

然后再启动服务:

systemctl start mysqld.service

然后这时就可以跳过密码来登录mysql:

mysql -u root

img

然后是修改下密码:(就看别人的例子是这样的)

mysql> use mysql;
Database changed
mysql> update mysql.user set authentication_string=password('4008') where user='root' ;
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

然后exit退出mysql,重新在刚刚那个配置文件中去掉skip-grant-tables,然后重启MySQL。

然后就可以用新密码登录了:

img

sql报错

但这个时候,我试了一下一个简单的sql语句:

img

what???我不是刚刚才设完密码吗??

然后百度了下。说这个情况还要加个这样的改密码的语句:

SET PASSWORD = PASSWORD('密码');

但这个命令又出现了这样的问题:

img

额百度后知道原来是密码等级太简单,如果你坚持要这样的密码,要改变密码等级:

登录数据库后,输入

mysql> set global validate_password_policy=0;  //改变密码等级

mysql> set global validate_password_length=4;   //改变密码最小长度

然后再输入刚刚的命令:

SET PASSWORD = PASSWORD('密码');

然后再用 show databases;就没有报错了

配置远程登录:

MySQL默认root用户只能本地登录,如果要远程连接,要简单设置下,这里直接用root来远程登录不添加其他角色。

使用命令:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '4008' WITH GRANT OPTION;

.*.的意思是所有库的所有表;To后面跟的是用户名;@后面跟的是ip地址,%代表所有ip地址,identified by后面的是密码。

然后再:

mysql> flush privileges;

注意:

需要注意mysql的配置文件中的bindaddress 的参数和skip-networking 配置

bindaddress : 设定哪些ip地址被配置,使得mysql服务器只回应哪些ip地址的请求),最好注释掉该参数或设置成为127.0.0.1以外的值

skip-networking : 如果设置了该参数项,将导致所有TCP/IP端口没有被监听,也就是说出了本机,其他客户端都无法用网络连接到本mysql服务器,所以应该注释掉该参数

添加3306端口:

命令:

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

结果说没有运行防火墙:

img

那就先开防火墙咯:

systemctl status firewalld  查看防火墙状态

systemctl start firewalld  打开防火墙

img

然后再输入那个开放3306端口的命令就行了

firewall-cmd --zone=public --add-port=3306/tcp --permanent;

firewall-cmd --reload  重启防火墙

最后的收尾:

1.我们刚开始说要写在yum的repository,用这个命令就行:

yum -y remove mysql57-community-release-el7-10.noarch

2.MySQL设一下utf8:

打开/etc/my.cnf也就是数据库的配置文件,然后在底部复制粘贴:

[mysqld] 

character_set_server=utf8
init_connect='SET NAMES utf8'

采用navicat新建数据库时,需要将编码方式设置为,字符集:utf8 – UTF-8 Unicode ,排序规则:utf8_general_ci

3.阿里云的服务器中的安全组加入mysql连接的规则。这个很重要不然远程无法连接上。

4.配置文件的说明:

/etc/my.cnf 这是mysql的主配置文件
  /var/lib/mysql mysql数据库的数据库文件存放位置
  /var/log mysql数据库的日志输出存放位置

4.jdk配置

1.下载jdk1.8 linux版本

选择官网下载/ 或者找网上提供的百度网盘地址下载(个人感觉这个比较妥当)

2.将安装包通过ssh上传到Linux相应的文件夹

执行解压命令

tar -zxvf jdk-8u221-linux-x64.tar.gz

3. 然后就跟你在windows系统下安装完jdk一样,你还要设置系统环境变量。

linux系统中的设置方法为:找到文件 /etc/profile ,向其中添加如下代码:

export JAVA_HOME=/usr/java/jdk1.8.0_221
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH

立即执行profile文件,使之生效,使用source命令(source命令:依次执行文件所有语句)
在这里插入图片描述

4.java命令验证一下

到这一步,jdk的安装就全部完成了。最后,我们再使用java命令验证一下,如果可以看到我们的版本信息就可以了。

java -version
1

在这里插入图片描述

5.tomcat配置

1.下载tomcat9 linux版本

选择官网下载/ 或者找网上提供的百度网盘地址下载(个人感觉这个比较妥当)

2.将安装包通过ssh上传到Linux相应的文件夹

执行解压命令

tar zxvf apache-tomcat-7.0.68.tar.gz

3、配置环境

进入到上面的tomcat的bin文件夹下:

img

vi setclasspath.sh  

添加如下内容:

export JAVA_HOME=/usr/java/jdk/jdk1.8.0_65   
export JRE_HOME=/usr/java/jdk/jdk1.8.0_65/jre   

4、然后退回到bin目录下:

执行

./startup.sh 

出现如下,说明安装成功

img

6.nginx配置

1.我们选择稳定的版本 1.16.1

wget -c https://nginx.org/download/nginx-1.16.1.tar.gz

如果没装wget,以用下命令安装:

yum -y install wget

2.安装环境
gcc环境

yum -y install gcc-c++

第三方开放包Perl库

yum -y install pcre pcre-devel

zlib库

yum -y install zlib zlib-devel

openssl

yum -y install openssl openssl-devel

3.安装nginx
解压

tar -zxvf nginx-1.16.1.tar.gz

使用configure创建一个makeFile文件

cd nginx-1.16.1
./configure

编译安装nginx

make && make install

查找安装目录

whereis nginx

4.启动停止重启Nginx

cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。
查询nginx进程:
ps -ef|grep nginx

7.springboot 多模块 jar包 部署(由于本项目涉及文件上传到static目录,jar包不能解析,故最终没选择此部署)

1.修改父模块pom.xml文件

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <addResources>true</addResources>
                    <mainClass>com.musemun.SpringWebStarter</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>

            </plugin>

        </plugins>
    </build>

2.执行clean package命令

3.将jar包通过ssh上传到阿里云的/usr/webapp/目录下

执行

nohup java -jar musemun-1.0-SNAPSHOT.jar &

8.springboot 多模块war包 部署(本项目最终选择以war包)

1.修改子模块 web model的pom.xml

<packaging>war</packaging>
 <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
            <!-- 没有web.xml文件的情况下构建WAR
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.0.0</version>
            </plugin>
            -->
            <plugin>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.6</version>
                <configuration>
                    <!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。-->
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                </configuration>
            </plugin>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
            <scope>provided</scope>
        </dependency>
<dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
            <!-- 移除嵌入式tomcat插件 -->
            <exclusions>
                <exclusion>
                    <groupId>org.springframework.boot</groupId>
                    <artifactId>spring-boot-starter-tomcat</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

2.修改父模块pom.xml

<plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <configuration>
                    <fork>true</fork>
                    <addResources>true</addResources>
                    <mainClass>com.musemun.SpringWebStarter</mainClass>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.7.0</version>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>

            </plugin>

3.启动类修改 继承extends SpringBootServletInitializer 重写configure方法

public class SpringWebStarter extends SpringBootServletInitializer {
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(SpringWebStarter.class);
    }

    public static void main(String[] args) {
        SpringApplication.run(SpringWebStarter.class,args);
    }

}

4、执行clean ,package命令

5、将war包通过ssh上传到阿里云的tomcat webapp目录下 。

9.vue前端项目打包部署运行

1.将dist.rar解压 将整个文件夹通过ssh上传到阿里云nginx

将文件夹上传到 /usr/local/nginx/html/目录下,即nginx解压之后的html文件夹下

2.修改nginx.conf配置

/usr/local/nginx/conf/目录下,执行

vi nginx.conf

修改vue文件的路径即端口号(本项目以8081端口运行)

server {
       listen       8081;                   # 端口

       server_name  localhost;              # ip

       location / {
           root   html/crms;                #  打包文件夹上传位置
           index  index.html index.htm;
       }
    }

3.重启nginx

 ./nginx -s reload

10.linux命令排查

1.查看进程

ps -ef

2.根据PID kill掉相关进程

kill -9 {PID}

3.查看占用端口进程的PID

netstat -tunlp|grep {port}

4.根据程序名查看对应的PID

ps -ef | grep {programName}
kill -9 {PID}

l/目录下,即nginx解压之后的html文件夹下

2.修改nginx.conf配置

/usr/local/nginx/conf/目录下,执行

vi nginx.conf

修改vue文件的路径即端口号(本项目以8081端口运行)

server {
       listen       8081;                   # 端口

       server_name  localhost;              # ip

       location / {
           root   html/crms;                #  打包文件夹上传位置
           index  index.html index.htm;
       }
    }

3.重启nginx

 ./nginx -s reload

10.linux命令排查

1.查看进程

ps -ef

2.根据PID kill掉相关进程

kill -9 {PID}

3.查看占用端口进程的PID

netstat -tunlp|grep {port}

4.根据程序名查看对应的PID

ps -ef | grep {programName}
kill -9 {PID}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值