所在位置:
首页 >
营销资讯 >
建站知识 > 从零开始Linux部署jdk、mysql、ngxin,附带配置https域名访问。
从零开始Linux部署jdk、mysql、ngxin,附带配置https域名访问。
时间:2023-02-20 18:34:01 | 来源:建站知识
时间:2023-02-20 18:34:01 来源:建站知识
从零开始Linux部署jdk、mysql、ngxin,附带配置https域名访问。:
Linux基础操作命令
命令名称 | 命令 |
---|
查询端口是否开放 | firewall-cmd --query-port=3306/tcp |
开启防火墙端口 | firewall-cmd --add-port=3306/tcp --permanent |
关闭防火墙端口 | firewall-cmd --remove-port=3306/tcp --permanent |
重启防火墙 | systemctl restart firewalld |
查看防火墙状态 | systemctl status firewalld |
关闭防火墙 | systemctl stop firewalld |
启动防火墙 | systemctl start firewalld |
开放一段端口 | firewall-cmd --zone=public --add-port=40000-45000/tcp --permanent |
查看开放的端口列表 | firewall-cmd --zone=public --list-ports |
端口监听情况(listen) | netstat -lntp |
端口占用 | netstat -lnp|grep 3306 |
图形界面开机 | systemctl set-default graphical.target |
dos界面开机 | systemctl set-default multi-user.target |
搜索wifi | nmcli dev wifi list |
查看当前wifi链接情况 | nmcli deivce status |
连接Wi-Fi | nmcli dev wifi connect 'name' password 'pwd' |
创建软连接(不加-s是硬连接) | ln -s <源文件> |
删除软连接 | rm -rf |
MySQL
- 在MySQL官网下载页下载MySQL安装包,Linux在目标目录下(我一般使用/usr/local/mysql/)使用wget + url下载
image-20220904011528432- 在目标目录下解压安装包
- 用tar-xvf 命令解压后缀为tar.xz的安装包
- 用tar-zxvf解压后缀为tar.gz的安装包
- 给mysql赋权;直接在/usr/local/目录下依次使用如下命令:
- groupadd mysql
- User add -r -g mysql mysql
- cd mysql
- Chown -R mysql:mysql ./
- 初始化mysq(该步骤执行后会给予数据库初始密码,在初始化后弹出信息的最后一行,如果没有得到初始密码后续有其他操作进入数据库):
- 在安装后的mysql目录(按教程的话是/usr/local/mysql/mysql/)初始化mysql:
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/mysql --datadir=/usr/local/mysql/mysql/data
- 如果报错: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
- 如果没安装输入命令:yum install libaio-devel.x86_64
- 重新执行初始化命令
- 设置开机自启:
- cd /usr/local/mysql/mysql/support-files
- cp mysql.server /etc/init.d/mysql
- Chmod +x /etc/init.d/mysql
- 注册服务chkconfig --add mysql
- 配置etc/ld.so.conf
image-20220904011741646- vim /etc/ld.so.conf
- 输入:
/usr/local/mysql/mysql/lib
:q
保存退出
- 创建socket文件目录:
- mkdir /var/mysql
- chmod 777 /var/mysql
- 配置mysql的配置文件:
image-20220904011821162- sudo vi /etc/my.cnf
- 输入如下配置信息(配置信息中的路径要和安装路径匹配,新手可以直接按教程复制粘贴)
[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环境:
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
- 创建软连接:ln -s /usr/local/mysql/mysql/bin/mysql /usr/bin
- 启动mysql:service mysql start
- 登录mysql:mysql -u'username' -p'pwd' 或者:mysql -u 'username' -p 回车后输入密码(此时输入的密码看不到)
- 如果没有临时密码:
- my.cnf中写入skip-grant-tables
- 重启mysql
- mysql -uroot登陆(不用输入密码直接回车)
- 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. -->回车
- use mysql;
- alter user 'root'@'localhost' identified by '**';(该步骤为修改密码,请牢记)
- 开启远程登录mysql权限:
- 在mysql库中使用:UPDATE user SET Host='%' where user='root' AND Host='localhost' LIMIT 1;
- 刷新权限:flush privileges
Oracle JDK
安装JDK
jdk下载地址(进入后往下翻即可找到jdk8):
https://www.oracle.com/java/technologies/downloads/image-20220904011936811- 在/usr/local下创建java目录:mkdir java
- 在java目录下wget下载jdk或者在自己电脑上下载好用sftp传到目标目录
- Rpm -ivh 'jdk包名'
- 配置jdk环境:
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命令并回车,如果输出java version即为配置成功
image-20220904012536241 运行java项目
jar包:
万金油运行命令:nohup java -jar xxx.jar &
Nginx
安装
- 编译环境安装:
- 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即可(按作者风格肯定是下载到了/usr/local/nginx/)
image-20220904013806685 - 解压:tar -zxvf 包名
- 在解压出来的nginx目录中(也就是/usr/local/nginx/nginx/)执行:
- ./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复制到/usr/local/nginx/sbin替换原来的nginx,弹出的确认信息输入y
- nginx -V可看到TLS SNI support enabled已经成功
- 软连接配置nginx:
ln -s /usr/local/nginx/sbin/nginx /usr/local/bin/ningx
配置https域名访问
- 配置https域名访问(前提是自己要有合法备案的域名并解析到当前主机IP):
- 配置/usr/local/nginx/conf/nginx.conf
- 将80端口监听改为重定向到https:rewrite ^(.*)$ https://$host$1 permanent;并注释掉80中其他的location
image-20220904014816970 - 写一个监听https端口的server,https默认端口为443:
image-20220904015032658 ```nginx
https:
server{ listen 443 ssl; # 域名信息 server_name
.com www..com; # 域名的数字证书 ssl_certificate /usr/local/nginx/crt_files/
.crt; ssl_certificate_key /usr/local/nginx/crt_files/.key; # 设置转发的内容(这里我放的是一个前端项目) location / { root /usr/local/webapp/dist/; index index.html; } location /siteBack/ { proxy_pass http://localhost:8081/; } } ```
- 重载nginx配置:nginx -s reload
- nginx三个常用命令:
- 启动nginx(前提是建立软连接,否则在/usr/local/nginx/sbin/下输入./nginx):nginx
- 重载配置文件:nginx -s reload
- 关闭nginx:nginx -s stop
Linux自带的定时执行器cron
定时器任务配置
- sudo vi /etc/crontab
- 添加定时任务
image-20220904020339337 10 10 * * * root python /usr/local/python_project/main.py >> /usr/local/python_project/wzxy_clock_in.log
其中前五个参数为设置的时间,分别表示'分 时 天 月 周',我的命令不难看出是每天的早上10:10,root就是用户名,python为执行的命令,/usr/local/python_project/main.py为我需要执行的python文件,'>>'为追加写入符号,你也可以用'>'覆盖写入代替,'>>'之后便是我输出信息所保存的文件夹
cron常用命令:
- 重启cron服务:systemctl restart crond.service
- 关闭cron服务:systemctl stop crond.service
- 启动cron服务:systemctl start crond.service
- 重载cron配置:systemctl reload crond.service
Tips:
新手写入定时任务,重启cron之后最好看一下cron的日志,文件位置是:/var/log/cron,这里推荐一个命令:tail -f -n 200 /var/log/cron,可以动态刷新日志打印情况。如果定时任务语法错误,会在重启后给日志中写入bad command,如果有这条信息,请检查你的任务语法。