yum -y install epel-release
yum -y install htop
由于nginx是基于c语言开发的,所以需要安装c语言的编译环境,及正则表达式库等第三方依赖库。
yum -y install gcc pcre-devel zlib-devel openssl openssl-develyum -y install wget
wget https://nginx.org/download/nginx-1.16.1.tar.gz
解压nginx压缩包
tar -zxvf nginx-1.16.1.tar.gz
配置Nginx编译环境
cd nginx-1.16.1
./configure --prefix=/usr/local/nginx
编译&安装
make & make install
nginx安装到了/usr/local/nginx
启动
cd /usr/local/nginx/sbin
./nginx
重点目录和文件如下:
目录/文件 | 说明 | 备注 |
---|---|---|
conf | 配置文件的存放目录 | |
conf/nginx.conf | Nginx的核心配置文件 | conf下有很多nginx的配置文件,我们主要操作这个核心配置文件 |
html | 存放静态资源(html, css, ) | 部署到Nginx的静态资源都可以放在html目录中 |
logs | 存放nginx日志(访问日志、错误日志等) | |
sbin/nginx | 二进制文件,用于启动、停止Nginx服务 |
nginx使用教程请参考 Nginx中文文档 (https://www.nginx.cn/doc/)
server {
listen 80;
listen [::]:80;
server_name 域名;
return 301 https://域名/$request_uri;
}
server{
listen 443 ssl ;
listen [::]:443 ssl ;
server_name 域名;
#SSL
ssl_certificate /etc/nginx/ssl/域名证书.crt;
ssl_certificate_key /etc/nginx/ssl/域名证书.key;
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
#后端接口
location /api/ {
if ($request_method = OPTIONS ) {
add_header Access-Control-Allow-Origin "*";
add_header Access-Control-Allow-Methods "POST, GET, PUT, OPTIONS, DELETE, HEAD";
add_header Access-Control-Max-Age "3600";
add_header Access-Control-Allow-Headers "DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorizationi, *";
add_header Access-Control-Allow-Credentials "true";
add_header Content-Length 0;
add_header Content-Type text/plain;
return 204;
}add_header 'Access-Control-Allow-Origin' "*";
add_header 'Access-Control-Allow-Methods' 'POST, GET, PUT, OPTIONS, DELETE, HEAD';
add_header 'Access-Control-Allow-Headers' 'DNT,X-Mx-ReqToken,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Authorization,*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header Access-Control-Max-Age "3600";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_pass http://127.0.0.1:10999/;
}
}
补充:
在YUM中更新Nginx软件包
sudo yum install epel-releasesudo yum install nginx
将Nginx作为系统服务并启动
sudo systemctl enable nginx
sudo systemctl start nginx
使用以下命令检查服务安装情况
sudo systemctl status nginx
配置文件都在 /etc/nginx/ 目录中,主要配置文件为:/etc/nginx/nginx.conf
如果之前安装过旧版本的Docker,可以使用下面命令卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
安装docker
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2 --skip-broken
然后更新本地镜像源:
# 设置docker镜像源
yum-config-manager \
--add-repo \
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sed -i 's/download.docker.com/mirrors.aliyun.com\/docker-ce/g' /etc/yum.repos.d/docker-ce.repoyum makecache fast
然后输入命令:
yum install -y docker-ce
docker-ce为社区免费版本。稍等片刻,docker即可安装成功。
通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
配置镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://6pwyjbly.mirror.aliyuncs.com"]
}
EOFsudo systemctl daemon-reload
sudo systemctl restart docker
开发端口
firewall-cmd --zone=public --add-port=1935/tcp --permanent
刷新防火墙
firewall-cmd --reload
查看已开放端口
firewall-cmd --list-port
查询可用镜像 :docker search mysql
下载mysql镜像 :docker pull mysql:8.0
创建文件夹
命令:cd /opt/
命令:mkdir mysql_docker
命令:cd mysql_docker/
命令:echo $PWD
启动dockers镜像
docker run --name mysql8.0 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=public2020 -d -i -p 3306:3306 mysql:8.0
远程访问修改
1.进入容器 :docker exec -it 容器卷id bash
2.进入mysql :mysql -uroot -p
开启远程访问权限
命令:use mysql;
命令:select host,user from user;
命令:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'public2020';
命令:flush privileges;
延迟队列docker镜像
下载rabbitmq镜像: docker pull xiaoq123/mq-image:3.8
启动rebbitmq镜像: docker run -d -p 15672:15672 -p 5672:5672 --name rabbitmq --restart always -e RABBITMQ_DEFAULT_USER=xiaoq -e RABBITMQ_DEFAULT_PASS=xiaoq xiaoq123/mq-image:3.8
docker search redis 查看redis镜像
docker pull redis:latest 拉取最新镜像
mkdir -p /opt/redis_docker/data //-p 表示递归创建 如果没有就创建
mkdir -p /opt/redis_docker/conf
touch /opt/redis_docker/conf/redis.conf //创建redis.conf 配置文件
编辑redis.conf文件
#bind 127.0.0.1 //允许远程连接
protected-mode no
#protected-mode受保护模式 该模式开启只能通过127.0.0.1访问 无法通过外网访问所以这里要禁用
appendonly yes
# appendonly开启持久化
requirepass testpassWord
#密码 如不需要验证可以不需要
启动redis镜像
docker run -itd --name redis -v /opt/redis_docker/data:/data -v /opt/redis_docker/conf/redis.conf:/etc/redis/redis.conf -d -p 6379:6379 redis:latest redis-server /etc/redis/redis.conf
解压JDK相关压缩包
tar -zxvf 对应tar包文件名vim /etc/profile (配置环境变量)
source /etc/profile (配置生效)
#java
export JAVA_HOME=/opt/software/jdk1.8.0_192(jdk目录)
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
解压nacos相关压缩包
tar -zxvf 对应tar包文件名
单机启动命令(linux) sh startup.sh -m standalone
nacos配置修改 naocs/conf/application.properties
路径修改 server.servlet.contextPath=/nacos
端口修改 server.port=8848
数据库修改 # db.num=1
nacos数据库文件naocs/conf/nacos-mysql.sql
解压Nexus相关压缩包
启动命令 ./nexus start
nexus 配置修改 nexus-3.18.1-01/etc/nexus-default.properties
路径修改 nexus-context-path=/
端口修改 application-port=8081
访问地址 ip:port
重置初始化密码 admin
账号为:admin
密码 more /opt/software/sonatype-work/nexus3/admin.password
docker pull xiaoq123/xxl-job-image:2.1.1
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://数据库地址Unicode=true&characterEncoding=UTF-8 --spring.datasource.username=数据库账号--spring.datasource.password=数据库密码 " -p 9010:8080 -v /tmp:/data/applogs --name xxl-job-admin --privileged=true -d xiaoq123/xxl-job-image:2.1.1
docker run -e PARAMS="--spring.datasource.url=jdbc:mysql://192.168.136.130:3306/xxl_job?Unicode=true&characterEncoding=UTF-8&l&useSSL=false--spring.datasource.username=root --spring.datasource.password=public2020" -p 9010:8080 -v /tmp:/data/applogs --name xxl-job-admin --privileged=true -d xiaoq123/xxl-job-image:2.1.1
附:settings.xml内容
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<!--本地仓库。该值表示构建系统本地仓库的路径。其默认值为~/.m2/repository。 -->
<localRepository>gitee_repository</localRepository>
<!--Maven 是否需要和用户交互以获得输入。如果 Maven 需要和用户交互以获得输入,则设置成
true,反之则应为 false。默认为
true。 <interactiveMode>true</interactiveMode>
-->
<!-- 使用私有仓库 settings.xml模板-->
<servers>
<server>
<id>releases</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>snapshots</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>nexus</id>
<username>admin</username>
<password>password</password>
</server>
<server>
<id>harbor</id>
<username>admin</username>
<password>password</password>
</server>
</servers>
<!-- 使用私库,镜像不用配置 -->
<mirrors></mirrors>
<!-- 环境配置,作为企业内应用,只使用内网私库(默认) 和 阿里云(私库维护时) -->
<profiles>
<profile>
<id>medusa</id>
<repositories>
<repository>
<id>nexus</id>
<url>http://nexus地址/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<url>http://nexus地址/repository/maven-public/</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
<!-- 默认两个永远生效 -->
<activeProfiles>
<activeProfile>xxx</activeProfile>
</activeProfiles>
</settings