Nginx
Nginx 安装方法1
下载nginx包
wget https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
建立nginx的yum仓库
rpm -ivh nginx-release-centos-7-0.el7.ngx.noarch.rpm
查看 nginx 信息
yum info nginx
“
查看 yum 源仓库中 nginx 版本
yum --showduplicates list nginx | expand 安装 nginx, 默认安装最新的稳定版本 及 nginx 1.20.2
yum install nginx
yum安装配置文件位置:/etc/nginx/nginx.conf 网站主目录:/usr/share/nginx/html 日志文件目录:/var/log/nginx/
安装方法2
rpm -Uvh http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.14.2-1.el7_4.ngx.x86_64.rpm
2.2.使用 yum 安装
yum install nginx
注1:yum方式安装nginx,它的安装根目录为/etc/nginx
注2:查看nginx版本
rpm -qa | grep nginx
2.3.启动及设置开机启动
systemctl start nginx.service
systemctl enable nginx.service
2.4.设置防火墙开放 80 端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload && firewall-cmd --list-port
2.5.测试 nginx 是否可被访问,应该显示nginx的欢迎界面 http://192.168.183.144:80(改成自己的ip地址)
nginx 反向代理404问题
selinux 权限问题 临时开启:setsebool httpd_can_network_connect=1
永久开启:打开 /etc/selinux/config 文件并将 SELINUX 设置为 permissive
Tomcat(springMVC项目时使用)
tomcat下载地址 http://tomcat.apache.org/download-90.cgi
检查linux是否安装tomcat
rpm -qa|grep tomcat
查看下系统信息,确认是32位还是64位:uname -a
输入rpm -qa|grep tomcat
如果有通过rpm -e rpm -qa|grep tomcat
(或rpm -e 加上面rpm -qa|grep tomcat显示的结果)
注意:一般tomcat安装都是通过压缩包的方式,所以这一步可以跳过
tar -xzvf apache-tomcat-9.0.0.M9.tar.gz 解压即可
tomcat 命令:
启动Tomcat 关闭
./startup.sh ./shutdown.sh
查看运行日志
tail -f catalina.out
作为服务启动
nohup ./startup.sh &
控制台动态输出方式启动 ./catalina.sh run 动态地显示tomcat后台的控制台输出信息,Ctrl+C后退出并关闭服务
配置 Tomcat 使用该ssl 测试 配置应用以便使用 SSL , 2. 配置 Tomcat 打开 server.xml
域名绑定项目
- 测试
启动 Tomcat 并访问 https://zhuwenfeng.cn 你将看到 Tomcat 默认的首页。
Tomcat配置应用使用 SSL
打开应用的 web.xml 文件,增加配置如下:
<security-constraint>
<web-resource-collection>
<web-resource-name>securedapp</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
securedapp / CONFIDENTIAL 将 URL 映射设为 / ,这样你的整个应用都要求是 HTTPS 访问,而 transport-guarantee 标签设置为 CONFIDENTIAL 以便使应用支持 SSL。
如果你希望关闭 SSL ,只需要将 CONFIDENTIAL 改为 NONE 即可。
安装jdk
yum -y install java-1.8.0-openjdk*
安装MySQL
首先查看:
rpm -qa|grep -i mysql
删除旧版
2.停止mysql服务,删除mysql
rpm -ev mysql-5.1.73-8.el6_8.x86_64
rpm -ev mysql-libs-5.1.73-8.el6_8.x86_64
注意:可能会抛依赖错误错 error:Failed dependencies:,则加上 --nodeps不检查依赖关系删除,命令如下
rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
3.删除遗留的mysql文件和依赖库
find / -name mysql
rm -rf /var/lib/mysql
4.mysql 配置文件还要手动删除
rm -rf /etc/my.cnf
5.检查一遍mysql 是否成功删除
rpm -qa|grep -i mysql
重新安装mysql,卸载命令共三条如下:
yum remove mysql mysql-server mysql-libs compat-mysql51
rm -rf /var/lib/mysql
rm /etc/my.cnf
yum remove '软件名'
如果无法执行wget命令,则先安装wget:
yum -y install wget
下载MySql:
wget http://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
安装MySQL
yum localinstall mysql57-community-release-el7-11.noarch.rpm
查看是否安装成功:
yum repolist enabled | grep "mysql.*-community.*"
安装mysql:
yum install mysql-community-server
如果提示公匙未安装执行以下代码 rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022 再重新执行 yum install
mysql-community-server
启动mysql:
systemctl start mysqld
如果启动报错,先尝试修改权限
chown -R mysql:mysql /var/lib/mysql
chmod -R 777 /var/lib/mysql
systemctl start mysqld
关闭mysql:
systemctl stop mysqld
查看是否启动:
systemctl status mysqld
重启mysql:
systemctl restart mysqld
设置开机自启:
systemctl enable mysqld
继续执行:
systemctl daemon-reload
查看默认密码:
grep 'temporary password' /var/log/mysqld.log
//Mysql密码有安全策略,在/etc/my.cnf中加入 validate_password = off 可以设置关闭密码检验
// set global validate_password_policy=0;
重启mysql:
systemctl restart mysqld
连接数据库:
mysql -u root -p
进入mysql之后,修改密码:
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看,
alter user 'root'@'localhost' identified by '新密码';
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看,
首先需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值,
当前密码长度为 8 ,如果不介意的话就不用修改了,按照通用的来讲,设置为 6 位的密码,设置 validate_password_length 的全局参数为 6 即可,
输入设值语句 “ set global validate_password_length=6; ” 进行设值,
现在可以为 mysql 设置简单密码了,只要满足六位的长度即可,
输入修改语句 “ ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; ” 可以看到修改成功,表示密码策略修改成功了!!!
navicat 无法连接时 修改权限
可能是你的帐号不允许从远程登陆,只能在localhost。
这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
mysql> flush privileges;
MySQL大小写敏感可以通过配置文件的lower_case_table_names参数来控制。
WINDOWS: 编辑MySQL安装目录下的my.ini 文件,在[mysqld]节下
添加 lower_case_table_names=0 (备注:为0时大小写敏感,为1时大小写不敏感,默认为1),
可以实现MySql按照建表Sql语句的大小写状态来定义表名。
LINUX: 编辑/etc/my.cnf文件,在[mysqld]节下 添加 lower_case_table_names=1 参数,
并设置相应的值 (备注:为0时大小写敏感,为1时大小写不敏感,默认为0)。
赶紧在/etc/my.cnf中添加 lower_case_table_names=1 参数!
service mysqld stop
vi /etc/my.cnf
在[mysqld]中添加:
lower_case_table_names = 1;
service mysqld restart;
SpringBoot
持久启动springboot项目
不打印log
nohup java -jar nana.jar >/dev/null &
将标准出错(2)重定向到标准输出(1),标准输出已经重定向到system.log文件,最后一个&,是让该命令在后台执行。
nohup java -jar mis-1.0.jar > system.log 2>&1 &
VisualVM远程
在JDK安装目录bin下新建文件 jstatd.all.policy,内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
修改文件权限
chmod 777 jstatd.all.policy
找到JDK安装路径
cd /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.362.b08-1.el7_9.x86_64/bin
执行指令
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=192.168.48.88 &
springboot配置SSL证书
keytool -importkeystore -srckeystore D:\https\214215109110451\214215109110451.pfx -destkeystore 520oo.jks -srcstoretype PKCS12 -deststoretype JKS
2.4、输入密码,三次输入的密码都要和解压的证书里密码一致,不一致有可能出错。 2.5、记下别名:alias 2.6、在bin目录下找到 jks文件(复制到项目的application.properties同级目录)
1#https加密端口号 443
2server.port=443
3#SSL证书路径 一定要加上classpath:
4server.ssl.key-store=classpath:520oo.jks
5#SSL证书密码
6server.ssl.key-store-password=214215109110451
7#证书类型
8server.ssl.key-store-type=JKS
9#证书别名
10server.ssl.key-alias=alias
修改启动类
public static void main(String[] args) {
17 SpringApplication.run(WebchatApplication.class, args);
18 }
19
20 /**
21 * http重定向到https
22 * @return
23 /
24 @Bean
25 public TomcatServletWebServerFactory servletContainer() {
26 TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory() {
27 @Override
28 protected void postProcessContext(Context context) {
29 SecurityConstraint constraint = new SecurityConstraint();
30 constraint.setUserConstraint("CONFIDENTIAL");
31 SecurityCollection collection = new SecurityCollection();
32 collection.addPattern("/");
33 constraint.addCollection(collection);
34 context.addConstraint(constraint);
35 }
36 };
37 tomcat.addAdditionalTomcatConnectors(httpConnector());
38 return tomcat;
39 }
40
41 @Bean
42 public Connector httpConnector() {
43 Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
44 connector.setScheme("http");
45 //Connector监听的http的端口号
46 connector.setPort(8080);
47 connector.setSecure(false);
48 //监听到http的端口号后转向到的https的端口号
49 connector.setRedirectPort(443);
50 return connector;
51 }