從零開(kāi)始Linux部署jdk、mysql、ngxin,附帶配置https域名訪問(wèn)。
時(shí)間:2023-02-20 18:34:01 | 來(lái)源:建站知識(shí)
時(shí)間:2023-02-20 18:34:01 來(lái)源:建站知識(shí)
從零開(kāi)始Linux部署jdk、mysql、ngxin,附帶配置https域名訪問(wèn)。:
Linux基礎(chǔ)操作命令
命令名稱(chēng) | 命令 |
---|
查詢(xún)端口是否開(kāi)放 | firewall-cmd --query-port=3306/tcp |
開(kāi)啟防火墻端口 | firewall-cmd --add-port=3306/tcp --permanent |
關(guān)閉防火墻端口 | firewall-cmd --remove-port=3306/tcp --permanent |
重啟防火墻 | systemctl restart firewalld |
查看防火墻狀態(tài) | systemctl status firewalld |
關(guān)閉防火墻 | systemctl stop firewalld |
啟動(dòng)防火墻 | systemctl start firewalld |
開(kāi)放一段端口 | firewall-cmd --zone=public --add-port=40000-45000/tcp --permanent |
查看開(kāi)放的端口列表 | firewall-cmd --zone=public --list-ports |
端口監(jiān)聽(tīng)情況(listen) | netstat -lntp |
端口占用 | netstat -lnp|grep 3306 |
圖形界面開(kāi)機(jī) | systemctl set-default graphical.target |
dos界面開(kāi)機(jī) | systemctl set-default multi-user.target |
搜索wifi | nmcli dev wifi list |
查看當(dāng)前wifi鏈接情況 | nmcli deivce status |
連接Wi-Fi | nmcli dev wifi connect 'name' password 'pwd' |
創(chuàng)建軟連接(不加-s是硬連接) | ln -s <源文件> |
刪除軟連接 | rm -rf |
MySQL
- 在MySQL官網(wǎng)下載頁(yè)下載MySQL安裝包,Linux在目標(biāo)目錄下(我一般使用/usr/local/mysql/)使用wget + url下載
image-20220904011528432- 在目標(biāo)目錄下解壓安裝包
- 用tar-xvf 命令解壓后綴為tar.xz的安裝包
- 用tar-zxvf解壓后綴為tar.gz的安裝包
- 給mysql賦權(quán);直接在/usr/local/目錄下依次使用如下命令:
- groupadd mysql
- User add -r -g mysql mysql
- cd mysql
- Chown -R mysql:mysql ./
- 初始化mysq(該步驟執(zhí)行后會(huì)給予數(shù)據(jù)庫(kù)初始密碼,在初始化后彈出信息的最后一行,如果沒(méi)有得到初始密碼后續(xù)有其他操作進(jìn)入數(shù)據(jù)庫(kù)):
- 在安裝后的mysql目錄(按教程的話(huà)是/usr/local/mysql/mysql/)初始化mysql:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql --datadir=/usr/local/mysql/mysql/data
- 如果報(bào)錯(cuò):bin/mysqld: error while loading shared libraries: libaio.so.1: cannot open shared object file: No such file or directory
- 檢查是否安裝命令:libaio:ps -qa|grep libaio
- 如果沒(méi)安裝輸入命令:yum install libaio-devel.x86_64
- 重新執(zhí)行初始化命令
- 設(shè)置開(kāi)機(jī)自啟:
- cd /usr/local/mysql/mysql/support-files
- cp mysql.server /etc/init.d/mysql
- Chmod +x /etc/init.d/mysql
- 注冊(cè)服務(wù)chkconfig --add mysql
- 配置etc/ld.so.conf
image-20220904011741646- vim /etc/ld.so.conf
- 輸入:
/usr/local/mysql/mysql/lib
:q
保存退出
- 創(chuàng)建socket文件目錄:
- mkdir /var/mysql
- chmod 777 /var/mysql
- 配置mysql的配置文件:
image-20220904011821162- sudo vi /etc/my.cnf
- 輸入如下配置信息(配置信息中的路徑要和安裝路徑匹配,新手可以直接按教程復(fù)制粘貼)
[client] port=3306 socket=/var/mysql/mysql.sock [mysql] socket=/var/mysql/mysql.sock [mysqld] port=3306 user=mysql socket=/var/mysql/mysql.sock basedir=/usr/local/mysql/mysql datadir=/usr/local/mysql/data log-error=/usr/local/mysql/data/error.log pid-file = /usr/local/mysql/data/mysql.pid transaction_isolation = READ-COMMITTED character-set-server = utf8mb4 collation-server = utf8mb4_general_ci lower_case_table_names = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
- 配置mysql環(huán)境:
image-20220904013151821 - 編輯配置文件:vim /etc/profile
- 在profile輸入如下配置信息并保存退出:
MYSQL ENVIRONMENT
MYSQL_HOME=/usr/local/mysql/mysql PATH=$MYSQL_HOME/bin:$MYSQL_HOME/lib:$PATH
- 刷新配置文件:source /etc/profile
- 創(chuàng)建軟連接:ln -s /usr/local/mysql/mysql/bin/mysql /usr/bin
- 啟動(dòng)mysql:service mysql start
- 登錄mysql:mysql -u'username' -p'pwd' 或者:mysql -u 'username' -p 回車(chē)后輸入密碼(此時(shí)輸入的密碼看不到)
- 如果沒(méi)有臨時(shí)密碼:
- my.cnf中寫(xiě)入skip-grant-tables
- 重啟mysql
- mysql -uroot登陸(不用輸入密碼直接回車(chē))
- user mysql;
- alter user set authentication='' where user='root';
- quit;
- service mysql stop;
- vi /etc/my.cnf -->刪除skip-grant-tables
- service mysql start
- mysql -u root -p. -->回車(chē)
- use mysql;
- alter user 'root'@'localhost' identified by '**';(該步驟為修改密碼,請(qǐng)牢記)
- 開(kāi)啟遠(yuǎn)程登錄mysql權(quán)限:
- 在mysql庫(kù)中使用:UPDATE user SET Host='%' where user='root' AND Host='localhost' LIMIT 1;
- 刷新權(quán)限:flush privileges
Oracle JDK
安裝JDK
jdk下載地址(進(jìn)入后往下翻即可找到j(luò)dk8):
https://www.oracle.com/java/technologies/downloads/image-20220904011936811- 在/usr/local下創(chuàng)建java目錄:mkdir java
- 在java目錄下wget下載jdk或者在自己電腦上下載好用sftp傳到目標(biāo)目錄
- Rpm -ivh 'jdk包名'
- 配置jdk環(huán)境:
image-20220904013256695- sudo vim /etc/profile
- 配置自己jdk的安裝路徑,下面給出我的配置,如果你按照我的步驟安裝,只需要將包名(jdk1.8.0_341-amd64)修改為你自己的即可:
export JAVA_HOME=/usr/java/jdk1.8.0_341-amd64 export CLASSPATH=%JAVA_HOME%/lib:%JAVA_HOME%/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
- 檢查是否配置完成:
- 輸入java - version命令并回車(chē),如果輸出java version即為配置成功
image-20220904012536241 運(yùn)行java項(xiàng)目
jar包:
萬(wàn)金油運(yùn)行命令:nohup java -jar xxx.jar &
Nginx
安裝
- 編譯環(huán)境安裝:
- yum install gcc-c++
- yum install -y pcre pcre-devel
- yum install -y zlib zlib-devel
- yum install -y openssl openssl-devel
- 下載nginx:
- 地址:https://nginx.org/en/download.html,選擇stable version即可(按作者風(fēng)格肯定是下載到了/usr/local/nginx/)
image-20220904013806685 - 解壓:tar -zxvf 包名
- 在解壓出來(lái)的nginx目錄中(也就是/usr/local/nginx/nginx/)執(zhí)行:
- ./configure --prefix=/usr/local/nginx
- make && make install
- 配置nginx
- 添加https模塊: ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
- make
- 將新生成的objs目錄下的nginx復(fù)制到/usr/local/nginx/sbin替換原來(lái)的nginx,彈出的確認(rèn)信息輸入y
- nginx -V可看到TLS SNI support enabled已經(jīng)成功
- 軟連接配置nginx:
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ningx
配置https域名訪問(wèn)
- 配置https域名訪問(wèn)(前提是自己要有合法備案的域名并解析到當(dāng)前主機(jī)IP):
- 配置/usr/local/nginx/conf/nginx.conf
- 將80端口監(jiān)聽(tīng)改為重定向到https:rewrite ^(.*)$ https://$host$1 permanent;并注釋掉80中其他的location
image-20220904014816970 - 寫(xiě)一個(gè)監(jiān)聽(tīng)https端口的server,https默認(rèn)端口為443:
image-20220904015032658 ```nginx
https:
server{ listen 443 ssl; # 域名信息 server_name
.com www..com; # 域名的數(shù)字證書(shū) ssl_certificate /usr/local/nginx/crt_files/
.crt; ssl_certificate_key /usr/local/nginx/crt_files/.key; # 設(shè)置轉(zhuǎn)發(fā)的內(nèi)容(這里我放的是一個(gè)前端項(xiàng)目) location / { root /usr/local/webapp/dist/; index index.html; } location /siteBack/ { proxy_pass http://localhost:8081/; } } ```
- 重載nginx配置:nginx -s reload
- nginx三個(gè)常用命令:
- 啟動(dòng)nginx(前提是建立軟連接,否則在/usr/local/nginx/sbin/下輸入./nginx):nginx
- 重載配置文件:nginx -s reload
- 關(guān)閉nginx:nginx -s stop
Linux自帶的定時(shí)執(zhí)行器cron
定時(shí)器任務(wù)配置
- sudo vi /etc/crontab
- 添加定時(shí)任務(wù)
image-20220904020339337 10 10 * * * root python /usr/local/python_project/main.py >> /usr/local/python_project/wzxy_clock_in.log
其中前五個(gè)參數(shù)為設(shè)置的時(shí)間,分別表示'分 時(shí) 天 月 周',我的命令不難看出是每天的早上10:10,root就是用戶(hù)名,python為執(zhí)行的命令,/usr/local/python_project/main.py為我需要執(zhí)行的python文件,'>>'為追加寫(xiě)入符號(hào),你也可以用'>'覆蓋寫(xiě)入代替,'>>'之后便是我輸出信息所保存的文件夾
cron常用命令:
- 重啟cron服務(wù):systemctl restart crond.service
- 關(guān)閉cron服務(wù):systemctl stop crond.service
- 啟動(dòng)cron服務(wù):systemctl start crond.service
- 重載cron配置:systemctl reload crond.service
Tips:
新手寫(xiě)入定時(shí)任務(wù),重啟cron之后最好看一下cron的日志,文件位置是:/var/log/cron,這里推薦一個(gè)命令:tail -f -n 200 /var/log/cron,可以動(dòng)態(tài)刷新日志打印情況。如果定時(shí)任務(wù)語(yǔ)法錯(cuò)誤,會(huì)在重啟后給日志中寫(xiě)入bad command,如果有這條信息,請(qǐng)檢查你的任務(wù)語(yǔ)法。
關(guān)鍵詞:配置,附帶,訪問(wèn),部署