centos7配置java1.8+nginx

本文详细介绍了如何在CentOS7系统上使用YUM安装Java1.8和Nginx的过程,包括安装依赖、配置环境及启动服务等关键步骤。

记录一下我在 centos7 安装 java 1.8 和 nginx ,本文章中全由 yum 安装

首先安装Java1.8

我们可以先通过 yum 进行检验 java1.8 的列表


yum list java-1.8*

然后 yum 来进行安装 java 1.8


#这里是安装1.8.0的所有文件

yum install java-1.8.0-openjdk* -y

#如果只安装1.8 

yum install java-1.8.0-openjdk

出现 Complete!表示安装完成,使用命令检查是否安装成功。


java -version

不需要对path进行手动设置,已自动设置好了

yum install 了之后,java 是默认下载到 /usr/lib/jvm 这个目录下。

现在开始安装 nginx

本人习惯把 nginx 安装在 /usr/local/src 目录,各位可以根据自己习惯来安装在哪里。

首先安装了编译环境

yum install gcc gcc-c++

进入 /usr/local/src 目录,安装依赖:pcre && zlib && openssl && nginx

wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz

wget http://www.zlib.net/zlib-1.2.11.tar.gz

wget https://www.openssl.org/source/openssl-1.0.2n.tar.gz

wget http://nginx.org/download/nginx-1.8.1.tar.gz

解压依赖:pcre && zlib && openss && nginx

tar -xvf pcre-8.38.tar.gz

tar -xvf zlib-1.2.11.tar.gz

tar -xvf openssl-1.0.2n.tar.gz

tar -xvf nginx-1.8.1.tar.gz

安装:pcre && zlib && openss && nginx

pcre


# 进入 pcre 目录

cd pcre-8.38

# 执行 configure

./configure

# 安装

make && make install

zlib


# 进入 zlib目录

cd zlib-1.2.11

# 执行 configure

./configure

# 安装

make && make install

openssl


# 进入 openssl目录

cd openssl-1.0.2n

# 执行 configure

./config  --prefix=/usr/local/src/openssl

# 安装

make && make install

nginx


# 进入 nginx 目录

cd nginx-1.8.1

# 执行 configure

./configure --prefix=/usr/local/src/nginx  --with-pcre=/usr/local/src/pcre-8.38 --with-zlib=/usr/local/src/zlib-1.2.11 --with-openssl=/usr/local/src/openssl

# 安装

make && make install

最后启动 nginx

#启动 nginx

/usr/local/src/nginx/sbin/nginx

#关闭 nginx

/usr/local/src/nginx/sbin/nginx -s stop

#重启 nginx 

/usr/local/src/nginx/sbin/nginx -s reload

在浏览器输入你服务器的地址,如果出现以下画面,那么恭喜,安装成功了!

补充一点 nginx.conf 配置参数


worker_processes 1;

events {

    worker_connections  1024;

}

http {

    include      mime.types;

    default_type  application/octet-stream;

    sendfile        on;

    keepalive_timeout  65;

    server {

        # 访问时的端口

        listen      80;

        # 服务器地址或域名

        server_name  localhost;

        location / {

          # 访问项目地址

            root  /usr/local/src/projects/project;

            # 初始页面

            index  index.html index.htm;

            # history 模式的配置

            try_files $uri $uri/ /index.html;

        }

        # 下面的配置是将请求转发给http://127.0.0.1:8080/处理

        # location /{

        #   proxy_set_header Host $host;

        #   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

        #  proxy_pass http://127.0.0.1:8080/;

        # }

        error_page  500 502 503 504  /50x.html;

        location = /50x.html {

            root  html;

        }

    }

}

部署一个包含 Java 1.8、MySQL 5.7、Redis、Vue3 前端应用,并通过 Nginx 反向代理进行服务整合的项目,可以使用 **Docker + Docker Compose** 来实现容器化部署。以下是完整的部署流程和配置说明: --- ## ✅ 一、服务器环境准备 ### 1. 操作系统 - 推荐使用:Ubuntu 20.04 / CentOS 7 或更高版本 ### 2. 安装工具 - Docker - Docker Compose - Git(可选) --- ## ✅ 二、安装 Docker 和 Docker Compose ### Ubuntu 安装命令如下: ```bash # 安装依赖 sudo apt update sudo apt install apt-transport-https ca-certificates curl software-properties-common -y # 添加 Docker GPG 密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - # 添加 Docker 仓库 sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" # 安装 Docker sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io -y # 安装 Docker Compose sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose # 验证安装 docker --version docker-compose --version ``` --- ## ✅ 三、项目结构设计 我们使用 `docker-compose.yml` 来统一管理所有服务: ```yaml version: '3.8' services: mysql: image: mysql:5.7 container_name: project-mysql environment: MYSQL_ROOT_PASSWORD: root_password MYSQL_DATABASE: mydb MYSQL_USER: dbuser MYSQL_PASSWORD: dbpassword volumes: - mysql_data:/var/lib/mysql - ./init.sql:/docker-entrypoint-initdb.d/init.sql ports: - "3306:3306" restart: unless-stopped redis: image: redis:alpine container_name: project-redis ports: - "6379:6379" command: ["redis-server", "--requirepass", "redis_password"] volumes: - redis_data:/data restart: unless-stopped java-app: build: context: ./backend dockerfile: Dockerfile container_name: project-java ports: - "8080:8080" environment: SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/mydb?useSSL=false&serverTimezone=UTC SPRING_DATASOURCE_USERNAME: dbuser SPRING_DATASOURCE_PASSWORD: dbpassword SPRING_REDIS_HOST: redis SPRING_REDIS_PASSWORD: redis_password depends_on: - mysql - redis restart: unless-stopped vue-app: build: context: ./frontend dockerfile: Dockerfile container_name: project-vue ports: - "8081:80" restart: unless-stopped nginx: image: nginx:latest container_name: project-nginx ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - java-app - vue-app restart: unless-stopped volumes: mysql_data: redis_data: ``` --- ## ✅ 四、构建 Dockerfile ### Java 后端 Dockerfile(`./backend/Dockerfile`): ```Dockerfile FROM openjdk:8-jdk-alpine COPY *.jar app.jar ENTRYPOINT ["java", "-jar", "app.jar"] ``` ### Vue 前端 Dockerfile(`./frontend/Dockerfile`): ```Dockerfile FROM node:14 as build-stage WORKDIR /app COPY . . RUN npm install && npm run build FROM nginx:alpine COPY --from=build-stage /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"] ``` --- ## ✅ 五、Nginx 反向代理配置(`nginx.conf`) ```nginx events {} http { server { listen 80; location /api/ { proxy_pass http://java-app:8080/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; } location / { proxy_pass http://vue-app/; proxy_set_header Host $host; } } } ``` --- ## ✅ 六、数据库初始化脚本(`init.sql`) ```sql -- init.sql CREATE DATABASE IF NOT EXISTS mydb; USE mydb; -- 示例表 CREATE TABLE IF NOT EXISTS users ( id INT AUTO_INCREMENT PRIMARY KEY, username VARCHAR(50) NOT NULL, password VARCHAR(100) NOT NULL ); -- 插入基础数据 INSERT INTO users (username, password) VALUES ('admin', 'hashed_password'); ``` > 注意:`hashed_password` 应该是加密后的密码,比如使用 `BCrypt`。 --- ## ✅ 七、Redis 密码设置 在 `docker-compose.yml` 中 Redis 服务添加如下命令: ```yaml command: ["redis-server", "--requirepass", "redis_password"] ``` Java 应用连接 Redis 时,需要在配置中加入密码: ```properties spring.redis.password=redis_password ``` --- ## ✅ 八、密码设置建议 | 服务 | 用户名 | 密码 | 配置位置或环境变量 | |------------|------------|------------------|---------------------| | MySQL root | root | root_password | `MYSQL_ROOT_PASSWORD` | | MySQL 用户 | dbuser | dbpassword | `MYSQL_USER`, `MYSQL_PASSWORD` | | Redis | 无用户名 | redis_password | `command` 参数配置 | | Java 应用 | 数据库连接 | dbpassword | `SPRING_DATASOURCE_PASSWORD` | --- ## ✅ 九、部署流程 ```bash # 进入项目目录 cd your-project # 构建并启动所有服务 docker-compose up -d --build ``` --- ## ✅ 十、验证部署 - 前端访问:`http://your-server-ip` - Java 接口测试:`http://your-server-ip/api/xxx` - MySQL 连接测试:`mysql -h your-server-ip -u dbuser -p` - Redis 连接测试: ```bash redis-cli -h your-server-ip -a redis_password ping ``` --- ## ✅ 十一、常见问题排查 - 查看容器日志: ```bash docker logs project-java docker logs project-mysql docker logs project-nginx ``` - 如果 Java 报数据库连接失败,请确保服务名称(如 `mysql`)与容器名一致。 --- ##
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值