Bootstrap

Linux -软件安装

1.为什么安装软件

项目开发好需要部署,而项目本身可能依赖其他软件。 这时在部署项目时就需要安装依赖的软件。

比如: jdk mysql tomcat redis rabbitmq es等

2. centos软件安装的方式

1. 二进制安装。---只需要解压就可以。 只针对特殊平台。 比如jdk  tomcat
2. RPM: 按照一定的规范就可以按照该软件。 无法安装依赖的文件。  mysql
3. yum 远程安装 基于RPM  帮你把依赖的文件安装上去。 必须联网。 
4. 安装源码安装。

3.JDK的安装

Java Downloads | Oracle 中国

(1)下载linux版本的jdk

(2) 拖到linux系统下

(3)解压jdk文件

tar -zxvf XXXX.tar.gz

(4)配置环境变量

在任何目录下都可以使用java的命令

修改vi /etc/profile

 在配置文件最下方加入该命令

export JAVA_HOME=/usr/app/jdk8 这个是你的解压后的目录加文件名

export PATH=$JAVA_HOME/bin:$PATH

(5)重新加载配置文件

source /etc/profile

4.Tomcat安装

Apache Tomcat® - Welcome!

(1)下载tomcat

(2) 放入linux系统中并解压

 

 (3)进入tomcat目录下

 启动tomcat

查看进程

ps -ef | grep tomcat

杀死进程

kill -9 进程编号

-9: 强制

访问tomcat服务器:

解决方案:

第一种: 关闭防火墙 【企业中不用】

第二种: 放行指定的端口号 【】


防火墙服务操作相关的命令:

systemctl start|stop|status|restart|disable    firewalld   

防火墙端口操作的命令

放行指定的端口号: firewall-cmd --add-port=端口号/tcp --zone=public --permanent
-- 注意: 重启防火墙
​
移除指定的端口号: firewall-cmd --remove-port=端口号/tcp --zone=public --permanent
-- 注意:  重启防火墙
​
查看放行的端口号: firewall-cmd --list-port

5.mysql安装

5.1 下载wget命令

yum -y install wget

5.2 在线下载mysql安装包

wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm

5.3 安装MySQL

sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm

5.4 安装mysql服务

  • 首先进入cd /etc/yum.repos.d/目录。
cd /etc/yum.repos.d/

 

  • 安装MySQL服务(这个过程可能有点慢)
sudo yum install mysql-community-server  --nogpgcheck

5.5 启动MySQL

systemctl start mysqld
查看进程:
ps -ef | grep mysql

5.6 修改MySQL临时密码

MySQL安装成功后会有一个临时密码,我们可以使用grep命令查看临时密码先登录进去MySQL,然后修改MySQL密码。

5.7 获取MySQL临时密码

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

 

 把密码复制出来 不要带空格 和不要多复制和少复制

5.8 使用临时密码先登录

mysql -uroot -p

进去之后会先让你修改密码

ALTER USER 'root'@'localhost' IDENTIFIED BY 'Abc123?!'; 

先用这个密码就行

 修改成功之后退出mysql

exit

再次登录MySQL 使用密码Abc123!?

把MySQL的密码校验强度改为低风险

set global validate_password.policy=LOW;
修改MySQL的密码长度
set global validate_password_length=5;

在修改自己想要的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; 

 5.9 允许远程访问

5.9.1 首先要关闭Cenots的防火墙

sudo systemctl disable firewalld

5.9.2修改MySQL允许任何人连接

1)首先登录MySQL

mysql -uroot -padmin

2)切换到mysql数据

use mysql;

3)查看user表

select Host,User from user;

 发现root用户只允许localhost主机登录登录

4)修改为允许任何地址访问

update user set Host='%' where User='root';

5)刷新权限

flush privileges;

5.10 使用Navicat连接工具测试

 

 

6. nginx安装

6.1 什么是nginx

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。并发能力: 50,000 

6.2 为什么使用nginx?

 

6.3 安装nginx

nginx可以独立安装在一台服务器--也可以和项目在同一个服务器。

1. 安装nginx的依赖插件

yum  install -y gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

下载nginx

源码。 编译---安装

nginx: download

创建一个目录作为nginx的安装路径

mkdir /usr/nginx

解压

tar -zxvf nginx-1.26.1.tar.gz

进入解压后的目录

cd nginx-1.26.1

指定nginx的安装路径

 ./configure --prefix=/usr/nginx

编译和安装nginx

make install

nginx目录结构

 

启动nginx

nginx  启动
nginx -s stop  关闭
nginx -s reload 重新加载配置文件

访问nginx 80

http://nginx所在的ip:nginx的端口/

 

nginx配置文件

 


#user  nobody; 
#工作的线程数
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  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;

    server {
       listen 81;
       server_name localhost;
       location /{
           root static;
           index main.html;
          
       }
    }

    #gzip  on;
    server {
        listen       80; # 监听的端口号
        server_name  localhost; # 监听的主机名.域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main;


        # 资源/ 
        location / {
            root   html; #根目录
            index  index.html main.html; # 资源
        }

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

}

server {
       listen 81;
       server_name localhost;
       location /{
           root static;
           index main.html;
          
       }
    }

这个是在配置文件里面加个可以访问的地址

 

;