Linux搭建Java環境

vue-admin發表於2020-11-03

Linux下查詢檔案:
find / -name nginx.conf  #在根目錄下查詢檔案httpd.conf,表示在整個硬碟查詢
find /etc -name httpd.conf  #在/etc目錄下檔案httpd.conf
find /etc -name ‘srm’  #使用萬用字元*(0或者任意多個)。表示在/etc目錄下查詢檔名中含有字串‘srm’的檔案,星號表示模糊搜尋
find . -name ‘srm*’   #表示當前目錄下查詢檔名開頭是字串‘srm’的檔案

1.安裝JDK https://blog.csdn.net/qq_42815754/article/details/82968464
一、傻瓜式安裝:
yum一鍵安裝:yum install -y java-1.8.0-openjdk-devel.x86_64
檢視JDK版本:java -version
你會好奇這個自動安裝把jdk安裝到哪裡去了,在usr/lib/jvm下可以找到

二、手動安裝:
1、去Oracle官網下載需要安裝的jdk版本,我這裡用的是jdk-8u181-linux-x64.tar.gz
2、將該壓縮包放到/usr/local/jdk目錄下,jdk目錄需要自己手動建立,也可以叫java,名字自己隨意取(見名知意),然後解壓該壓縮包,解壓輸入如下指令:
tar zxvf jdk-8u181-linux-x64.tar.gz
3、接下來就該配置環境變數了,輸入以下指令進行配置:
vim /etc/profile
4、輸入完畢並回車,在檔案尾部新增如下資訊:
export JAVA_HOME=/usr/local/jdk/jdk1.8.0_181

export CLASSPATH= : C L A S S P A T H : :CLASSPATH: :CLASSPATH:JAVA_HOME/lib/

export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
注意:第一行的JAVA_HOME=/usr/local/jdk/jdk1.8.0_181 此處等號右邊的是自己的jdk實際解壓目錄。如果不是該目錄則需要改成自己的實際目錄,其他不變。
實際情況如下圖所示:

5、編輯完之後,wq!儲存並退出,然後輸入以下指令重新整理環境配置使其生效:
source /etc/profile
6、檢視jdk是否安裝成功,輸入指令java -version即可,至此,手動安裝完成
.

2.安裝tomcat https://blog.csdn.net/qq_37598011/article/details/93502809
將tomcat的linux壓縮檔案拷貝到伺服器裡
解壓:進入tomcat 壓縮檔案安裝路徑 tar xvf +安裝包名稱
例:tar zxvf apache-tomcat-8.5.47.tar.gz
執行:進入tomcat bin目錄 執行 ./startup.sh 啟動tomcat
檢視tomcat服務:ps -ef | grep tomcat
殺死tomcat程式:kill -9 +程式埠
安裝多個tomcat:https://www.jb51.net/article/159521.htm

3.安裝mysql
檢視是否有mysql:rpm -qa | grep mysql
刪除mysql:
rpm -e mysql  // 普通刪除模式
rpm -e --nodeps mysql  // 強力刪除模式
重啟mysql:使用 service 啟動:service mysqld restart
安裝mysql:
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum -y update
yum -y install mysql-server

許可權設定:chown mysql:mysql -R /var/lib/mysql
初始化 MySQL:mysqld --initialize
啟動 MySQL:systemctl start mysqld
檢視 MySQL 執行狀態:systemctl status mysqld
驗證是否安裝:mysqladmin --version
設定mysql密碼:mysqladmin -u root password “Aa@111111”;
連線mysql:mysql -u root -p 回車輸入密碼

給與外部連線許可權:登入mysql
檢視user表:use mysql;
查詢許可權:select host,user,password from user;
給與許可權:grant all privileges on . to root@’%’ identified by “Aa@111111”;
不需重啟立即生效:flush privileges;

mysql安裝相關博文:http://www.mamicode.com/info-detail-2881941.html
mysql其他版本rpm包:
wget http://repo.mysql.com/mysql57-community-release-el7-8.noarch.rpm

4.安裝redis https://www.cnblogs.com/limit1/p/9045183.html
獲取redis資源:wget http://download.redis.io/releases/redis-4.0.8.tar.gz
解壓:tar zxvf redis-4.0.8.tar.gz
安裝:
cd redis-4.0.8
make
cd src
make install PREFIX=/usr/local/redis
移動配置檔案到安裝目錄下:
cd …/
mkdir /usr/local/redis/etc //建立etc資料夾
mv redis.conf /usr/local/redis/etc
配置redis為後臺啟動,使用yes啟用守護程式:
vim /usr/local/redis/etc/redis.conf //將daemonize no 改成daemonize yes
將redis加入到開機啟動:vi /etc/rc.local //在裡面新增內容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf (意思就是開機呼叫這段開啟redis的命令)
啟動redis:/root/redis/src/redis-server --daemonize yes
/root/redis指(redis安裝目錄)
或者在redis安裝目錄下執行: ./src/redis-server --daemonize yes

5.安裝nginx
安裝編譯工具及庫檔案:
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
安裝 PCRE:
cd /usr/local/src/
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
解壓安裝包:tar zxvf pcre-8.35.tar.gz
進入安裝包目錄:cd pcre-8.35
編譯安裝:
./configure
(提示:如果到./configure執行失敗,顯示
configure: error: You need a C++ compiler for C++ support
則表示需要一個c++編譯器來支援c++, 因為伺服器環境太純淨了
執行 yum -y install gcc-c++ 即可 , 如沒有報錯 繼續執行下一條)
make && make install
檢視pcre版本:pcre-config --version

安裝 Nginx:
cd /usr/local/src/
wget http://nginx.org/download/nginx-1.6.2.tar.gz
解壓安裝包:tar zxvf nginx-1.6.2.tar.gz
進入安裝包目錄:cd nginx-1.6.2
編譯安裝:
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
make
make install
檢視nginx版本:/usr/local/webserver/nginx/sbin/nginx -v

Nginx 配置:
建立 Nginx 執行使用的使用者 www:
/usr/sbin/groupadd www
/usr/sbin/useradd -g www www

配置檔案詳解
#全域性配置端
user nginx nginx; #啟動Ngnix工作程式的使用者和組
worker_processes [number | auto]; #啟動的工作程式數
worker_cpu_affinity 0001 0010 0100 1000 #將Nginx工作程式繫結到指定的CPU核心,預設Nginx是不進行程式繫結的

error_log file [debug | info | notice | warn | error | crit | alert | emerg] #錯誤日誌配置
#error_log logs/error.log;
#error_log logs/error.log notice;

pid logs/nginx.pid; #pid檔案儲存路徑

work_priority 0; #工作程式的優先順序 -20~19
work_rlimit_nofile 65536; #工作程式最大開啟檔案數

daemon off|on; #前臺執行nginx用於測試,docker等環境,預設為on
master_process off|on; #是否開啟Nginx的master-woker工作模式,關閉後 nginx就不會fork出worker子程式來處理請求,而是以master程式自身來處理請求

events { #events設定塊
worker_connections 1024; #設定單個nginx工作程式可以接愛的最大併發連線資料;                      ##在nginx作為http伺服器的時候,最大連線數為worker_processes * worker_connctions;在nginx作為反向代理伺服器的時候,最大連線數為worker_processes * worker_connections / 2
use epoll; #使用epoll事件驅動,Nginx支援眾多的事件驅動,比如select、poll、epoll,只能設定在events模組中設定
accept_mutex on; #優化同一時刻只有一個請求而避免多個睡眠程式被喚醒的設定,on為防止被同時喚醒預設為off,全部喚醒的過程也成為"驚群",因此nginx剛安裝完以後要進行適當的優化
multi_accept on; #Nginx伺服器的每個工作程式可以同時接受多個新的網路連線,但是需要在配置檔案中配置,此指令預設為關閉,即預設為一個工作程式只能一次接受一個新的網路連線,開啟後幾個同時接受多個
}

http { #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;                            #指定是否使用sendfile系統呼叫來傳輸檔案
#tcp_nopush on;                         #在開啟了sendfile的情況下,合併請求後統一傳送給客戶端
#tcp_nodelay off;                       #在開啟了keepalived模式下的連線是否啟用TCP_NODELAY選項,當為off時,延遲0.2s傳送,預設為on,不延遲傳送,立即傳送使用者相應報文
keepalive_timeout 65;                   #設定會話保持時間,單位是秒
#gzip on;                               #開啟檔案壓縮

server {                        
    listen       80;                    #設定監聽地址和埠
    server_name  localhost;             #設定server name,可以以空格隔開寫多個,支援正規表示式,如 *.aaa.com,www.aaa.* ~^www\d+\.aaa\.com$ default_server

    #charset koi8-r;                    #設定編碼格式,預設是俄語格式,可以改為utf-8

    #access_log  logs/host.access.log  main;    #裝置訪問日誌

    location / {
        root   html;                    #指定網站目錄
        index  index.html index.htm;    #指定預設網頁檔案,此指令由ngx_http_index_module模組提供
    }

    #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$ {                #以http的方式轉發php請求到指定web伺服器
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {                #以fastcgi的方式轉發php請求到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 {                #拒絕web形式訪問指定檔案,如很多的網站都是通過.htaccess檔案來改變自己的重定向等功能。
    #    deny  all;
    #}
}

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

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


# HTTPS server
#
#server {                                #https伺服器配置
#    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;
#    }
#}
#include /usr/local/nginx/conf/conf.d/*.conf        #匯入其他路徑的配置檔案

}

檢查配置檔案nginx.conf的正確性命令:/usr/local/webserver/nginx/sbin/nginx -t
停止 Nginx:/usr/local/webserver/nginx/sbin/nginx -s stop
啟動 Nginx:/usr/local/webserver/nginx/sbin/nginx
重啟 Nginx:/usr/local/webserver/nginx/sbin/nginx -s reload
Kill之後再啟動:/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf

Nginx配置二級域名:
server {
listen 80;
server_name admin.izhaibao.com;

    location / {
        root    /usr/local/webserver/nginx/html/admin;
        index   index.html index.htm;
    }

}

下面與上面這份一樣只是多了註釋

server {
listen 80;
server_name shop.izhaibao.com; # 需要訪問的域名
# rewrite ^(.*) https://$server_name$1 permanent; #這句是代表 把http的域名請求轉成https

    # charset koi8-r;
    # access_log  logs/host.access.log  main;
    location / {
        root   html; # root用於制定本地資源路徑
        index  index.html index.htm;
        # proxy_pass   http: # 需要訪問的域名; #因為這裡還是80埠,所以保持http就可以了,可以做外部跳轉
    }

}

Nginx配置SSL證照:
https://blog.csdn.net/Jioho_chen/article/details/81516581

HTTPS server

server {
    listen       443 ssl;
    server_name  www.izhaibao.com; #需要訪問的域名,這裡也不用加https

    ssl on;

    ssl_certificate      /usr/local/webserver/nginx/ssl/ssl.pem;  #這裡是ssl key檔案存放的絕對路徑,根據自己的檔名稱和路徑來寫
    ssl_certificate_key  /usr/local/webserver/nginx/ssl/ssl.key;  #這裡是ssl key檔案存放的絕對路徑,根據自己的檔名稱和路徑來寫

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

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

    location / {
        root   /usr/local/webserver/nginx/html;
        #proxy_pass   http://需要訪問的域名:8080/; #http://需要訪問的域名:埠/
    }
}

# 與上面這份一樣只是缺少註釋
server {
    listen       443 ssl;
    server_name  www.izhaibao.com;

    ssl on;

    ssl_certificate      /usr/local/webserver/nginx/ssl/1_chatmall.beetry.com_bundle.crt;
    ssl_certificate_key  /usr/local/webserver/nginx/ssl/2_chatmall.beetry.com.key;

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

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

    location / {
        root   /usr/local/webserver/nginx/html;
    }
}

檢視nginx編譯引數:
/usr/local/webserver/nginx/sbin/nginx -V

6、Linux安裝RabbitMq
安裝C 依賴
yum -y install make gcc gcc-c m4 ncurses-devel openssl-devel
安裝 perl
yum install perl
上傳 otp_src_22.3.tar.gz , rabbitmq-server-generic-unix-3.8.3.tar.xz 到伺服器/usr/local/rabbitmq 資料夾下
進入/usr/local/rabbitmq目錄,解壓:tar zxvf otp_src_22.3.tar.gz
建立安裝目錄:mkdir /usr/local/rabbitmq/erlang
進入解壓目錄進行配置:
cd /usr/local/rabbitmq/otp_src_22.3
./configure --prefix=/usr/local/rabbitmq/erlang --without-javac

出現上圖則正常,可以進行下一步操作
編譯:make && make install
配置環境變數
vi /etc/profile
export PATH=$PATH:/usr/local/rabbitmq/erlang/bin
儲存退出,重新整理環境變數:source /etc/profile

測試環境是否安裝成功:erl -version
部署RabbitMQ,解壓檔案
tar xvJf rabbitmq-server-generic-unix-3.8.3.tar.xz

配置環境變數
vi /etc/profile
export PATH=$PATH:/usr/local/rabbitmq/rabbitmq_server-3.8.3/sbin
儲存退出,重新整理環境變數:source /etc/profile

開啟web管理頁面
rabbitmq-plugins enable rabbitmq_management

出現此提示代表成功!
進入rabbitmq的sbin目錄啟動:./rabbitmq-server restart
設定賬號密碼
設定賬號密碼 此處我設定賬號system 密碼system

配置使用者名稱和密碼

rabbitmqctl add_user system system

設定使用者為管理員

rabbitmqctl set_user_tags system administrator

給使用者所有許可權

rabbitmqctl set_permissions -p / system ‘.’ '.’ ‘.*’

檢視指令:rabbitmqctl status
到此就安裝成功了!
centos的話記得開放預設的5672埠

安裝寶塔Linux:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
安裝完成以後系統會給我們一個登入皮膚的使用者名稱,密碼和地址資訊

到這裡我們的寶塔就全部安裝成功了,我們輸入剛才的地址;使用者名稱密碼進去就可以進入到我們的控制皮膚了
注意:安裝寶塔可能會開啟防火牆 , 如果有出現其他服務不能使用需要關閉防火牆
檢視防火牆狀態
第一種檢視方式:firewall-cmd --state
第二種檢視方式:systemctl status firewalld
關閉防火牆:
臨時關閉防火牆,當再次開機時 防火牆會開啟
systemctl stop firewalld.service
永久關閉防火牆,禁止開機啟動
systemctl disable firewalld.service
開啟防火牆:
臨時開啟防火牆,即重啟後又恢復到原來關閉的狀態
systemctl start firewalld
開機啟動防火牆,但需要重啟一次
systemctl enable firewalld
firewall-cmd --state #檢視防火牆
systemctl status firewalld #檢視防火牆
systemctl stop firewalld #臨時關閉防火牆
systemctl start firewalld #臨時開啟防火牆
systemctl disable firewalld #開機禁止啟動防火牆
systemctl enable firewalld #開機啟動防火牆

相關文章