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

域名绑定项目

  1. 测试

启动 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   }