Centos Java1.8+Nginx+redis+pgsql 手工配置

news2024/11/16 20:35:14

一、系统升级,安装系统常用工具及配置

1.1 升级软件及Centos 内核

yum update -y 

yum clean all

cat  /etc/redhat-release

1.2 安装虚拟机守护进程

yum install qemu-guest-agent -y

1.3 安装系统常用工具包

yum install  lrzsz vim wget  dnf -y  

1.4关闭seinux

vim /etc/selinux/config

#SELINUX=enforcing      #注释掉

#SELINUXTYPE=targeted  #注释掉

SELINUX=disabled       #增加

shutdown -r now     

getenforce         #查看SEliunx状态

1.5 关闭IPV6

方法一:

1.5.1 vim  /etc/sysctl.conf

增加net.ipv6.conf.all.disable_ipv6=1

1.5.2 vim /etc/sysconfig/network

增加 NETWORKING_IPV6=no

1.5.3 vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改IPV6INIT=no

1.5.4关闭防火墙ipv6 自动启动

systemctl disable ip6tables.service

1.5.5执行sysctl -p或者reboot重启命令

sysctl -p

方法二:

vim /etc/sysctl.conf

添加下面两行内容

net.ipv6.conf.all.disable_ipv6 = 1

net.ipv6.conf.default.disable_ipv6 = 1

sysctl -p 生效配置

二、安装java 1.8

2.1 yum 搜索可安装的java版本

yum list java*

2.2选择安装java1.8

yum install  java-1.8.0-openjdk-devel.x86_64  -y

2.3查看安装版本

java  -version

三、安装Nginx

3.1安装环境依赖包

yum install  pcre-devel  expat-devel zlib zlib-devel  openssl-devel  expat-devel  -y

yum install gcc gcc-c++ pcre pcre-devel -y

3.2下载nginx 并解压nginx

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

tar xf nginx-1.20.2.tar.gz

3.3创建nginx 用户和组

 useradd -r -s /sbin/nologin nginx

3.4 编译安装Nginx

cd nginx-1.20.2

vim nginx.sh (将下列信息复制到脚本)

 ./configure \

--prefix=/usr/local/nginx \

--sbin-path=/usr/sbin/nginx \

--modules-path=/usr/lib64/nginx/modules \

--conf-path=/etc/nginx/nginx.conf \

--error-log-path=/var/log/nginx/error.log \

--http-log-path=/var/log/nginx/access.log \

--pid-path=/var/run/nginx.pid \

--lock-path=/var/run/nginx.lock \

--http-client-body-temp-path=/var/cache/nginx/client_temp \

--http-proxy-temp-path=/var/cache/nginx/proxy_temp \

--http-fastcgi-temp-path=/var/cache/nginx/fastcgi_temp \

--http-uwsgi-temp-path=/var/cache/nginx/uwsgi_temp  \

--http-scgi-temp-path=/var/cache/nginx/scgi_temp \

--user=nginx  \

--group=nginx \

--with-compat \

--with-file-aio \

--with-threads \

--with-http_addition_module \

--with-http_auth_request_module \

--with-http_dav_module \

--with-http_flv_module \

--with-http_gunzip_module \

--with-http_gzip_static_module \

--with-http_mp4_module \

--with-http_random_index_module \

--with-http_realip_module \

--with-http_secure_link_module \

--with-http_slice_module \

--with-http_ssl_module \

--with-http_stub_status_module \

--with-http_sub_module \

--with-http_v2_module \

--with-mail \

--with-mail_ssl_module \

--with-stream \

--with-stream_realip_module \

--with-stream_ssl_module \

--with-stream_ssl_preread_module

--------------------------------------------------------------------------------------

chmod +x nginx.sh  #赋予脚本可执行权限

./nginx.sh              #运行脚本

make && make install  #编译并安装

3.5 添加环境变量,查看版本,

export PATH=$PATH:/usr/sbin/nginx

source /etc/profile

nginx -v

3.6 测试nginx

netstat -lnt | grep 80

nginx -t

nginx -c /etc/nginx/nginx.conf

nginx -s reload

问题:

nginx: [emerg] mkdir() "/var/cache/nginx/client_temp" failed (2: No such file or directory)

解决: mkdir -p /var/cache/nginx/client_temp

3.7 设置Nginx 开机自启动

vim /lib/systemd/system/nginx.service

填写以下信息

[Unit]

Description=nginx service

After=network.target

[Service]

Type=forking

ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf  #路径请根据实际配置修改

ExecReload=/usr/sbin/nginx -s reload   #路径请根据实际配置修改

ExecStop=/usr/sbin/nginx -s quit   #路径请根据实际配置修改

PrivateTmp=true

[Install]

WantedBy=multi-user.target

 systemctl enable nginx.service  设置开机自启

3.8 设置反向代理

vim /etc/nginx/nginx.conf  增加2个server模块 进行反向代理

server {

        listen    80 default_server;

        server_name  localhost;

         location / {

                   rewrite ^/ http://www.123.com/;

              }

     }

server {

        listen       80;

        server_name  localhost;

location / {

index index.php index.html  index.htm;    #定义首页索引文件名称

proxy_set_header Host $host;    #http请求的header中的host字段也放到转发的请求

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header REMOTE-HOST $remote_addr;

proxy_http_version 1.1;      #添加HTTP 1.1的支持

client_max_body_size 10m;   #允许客户端请求的最大单文件字节数

client_body_buffer_size 128k;  #缓冲区代理缓冲用户端请求的最大字节数

proxy_connect_timeout 90;  #nginx和后端服务器连接超时时间(代理连接超时)

proxy_send_timeout 90;       #后端服务器数据回传时间(代理发送超时)

proxy_read_timeout 90;       #连接成功后,后端服务器响应时间(代理接收超时)

proxy_buffer_size 4k;           #设置代理服务器(nginx)保存用户头信息的缓冲区大小

proxy_buffers 4 32k;            #proxy_buffers缓冲区,网页平均在32k 设置

proxy_busy_buffers_size 64k;   #高负荷缓冲大小(proxy_buffers*2)

proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传

add_header Cache-Control no-cache;

add_header X-Cache $upstream_cache_status;

proxy_pass http://127.0.0.1:8081;  #反向代理到127.0.0.1:8081

              }

     }

nginx -t     #修改配置后 运行nginx -t 测试是否有误

systemctl restart nginx  #重启nginx 服务

3.9 防火墙放行80,8081端口

firewall-cmd --zone=public --add-port=80/tcp --permanent

firewall-cmd --zone=public --add-port=8081/tcp --permanent

firewall-cmd --reload

firewall-cmd --zone=public --list-ports

systemctl restart firewalld.service

四、安装redis

4.1  下载解压安装

 wget https://download.redis.io/releases/redis-6.2.6.tar.gz

tar xf redis-6.2.6.tar.gz

cd redis-6.2.6

make

make install PREFIX=/usr/local/redis

4.2 使用前台启动redis(不能退出)

cd /usr/local/redis/bin/

 ./redis-server

4.3 设置后台启动redis

从 redis 的源码目录中复制 redis.conf 到 redis 的安装目录

cp  /root/redis-6.2.6/redis.conf  /usr/local/redis/bin/

修改 redis.conf 文件,把 daemonize no 改为 daemonize yes

vim /usr/local/redis/bin/redis.conf

后台启动

 cd /usr/local/redis/bin/

./redis-server redis.conf

4.4 添加redis开机自启动服务

vim /etc/systemd/system/redis.service

(将以下内容复制进redis.service)

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

4.5设置redis开机启动

systemctl daemon-reload

systemctl start redis.service

systemctl enable redis.service

4.6创建 redis 命令软链接

ln -s /usr/local/redis/bin/redis-cli /usr/bin/redis

五、安装PGSQL

5.1下载并安装数据库

yum install -y

https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm

yum install -y postgresql12-server

5.2初始化数据库

sudo /usr/pgsql-12/bin/postgresql-12-setup initdb

5.3 设置开机启动

systemctl enable postgresql-12

systemctl start postgresql-12

5.4 创建用户和数据库

5.4.1使用postgres用户登录(PostgresSQL安装后会自动创建postgres用户,无密码)

su - postgres

5.4.2 登录postgresql数据库

psql

5.4.3 创建用户和数据库并授权

create user sms with password '*****';  // 创建用户, 设置密码 *号代替

create database pgsms owner sms       //创建数据库

grant all privileges on database pgsms to sms  //授权

5.4.4 退出psql(输入 \q 再按回车键即可)

\q

exit

5.5 开启pgsql远程访问

find / -name "pg_hba.conf"

vi /var/lib/pgsql/12/data/pg_hba.conf

找到IPv4 local connections:  加入下列一行

host    all            all            10.0.0.0/23          md5

(允许10.0.0.0/23 网段远程连接)

vi  /var/lib/pgsql/12/data/postgresql.conf

#listen_addresses='localhost'    #取消该行注释,并修改为

listen_addresses = '*'   #监听来自任何主机的连接请求

问题:psql: 致命错误: 对用户"sms"的对等认证失败

解决:find / -name "pg_hba.conf"

          vi  pg_hba.cpnf     将peer 修改为md5

systemctl restart postgresql-12 重启服务

5.6 修改默认生成的 postgres 用户密码

(此postgres非上面的postgres用户,此为数据库的用户,上面的为操作系统的用户)

su - postgres
psql -U postgres

alter user postgres with encrypted password '*****';   #设置密码 *号代替

或:

su - postgres

psql -d postgres -U postgres

alter user postgres with password '*****';   #设置密码 *号代替

5.7 防火墙放行pgsql 远程端口

firewall-cmd --zone=public --add-port=5432/tcp --permanent

firewall-cmd --reload

firewall-cmd --zone=public --list-ports

systemctl restart firewalld.service

5.8 去掉和指定用户连接数据库权限

5.8.1去掉用户postgres 对postgress数据库的链接权限

revoke connect on database postgres from postgres;

5.8.2去掉用户postgres 对pgsms数据库的链接权限

revoke connect on database pgsms from postgres;

5.8.3添加指定用户sms对pgsms的链接权限

GRANT connect on database pgsms to sms;

systemctl restart postgresql-12 重启服务

5.9导入pgsql数据库

cd /usr/pgsql-12/bin

./psql -U sms pgsms</opt/public.sql

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/174957.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023牛客寒假算法基础集训营3 -- E-勉强拼凑的记忆(贪心 + 二分)

题目如下&#xff1a; 题解 or 思路&#xff1a; 我们可以发现&#xff1a;除了 n2n 2n2 无解&#xff0c; 其他情况答案至少为 n12\frac{n 1}{2}2n1​ 答案在 n12\frac{n 1}{2}2n1​ 到 nnn 之间 我们可以假设 答案为 ansansans 最优摆放为&#xff1a; 所以可以二分去求…

软件工程 黄金点游戏

这个故事最初出现在 《移山之道》中&#xff0c;我经常拿来做和创新的时机相关课堂练习和讨论&#xff0c;效果很好。我把这个练习和它的一些延伸话题都搬到这个新博客里。 黄金点游戏 N个同学&#xff08;N通常大于10&#xff09;&#xff0c;每人写一个 0~100之间的有理数 …

1、认识IntelliJ IDEA

文章目录1、认识IntelliJ IDEA1.1 JetBrains公司介绍1.2 IntelliJ IDEA介绍1.3 IDEA的主要优势&#xff08;对比Eclipse&#xff09;1.3.1 功能强大1.3.2 符合人体工程学1.4 IDEA的下载【尚硅谷】idea实战教程-讲师&#xff1a;宋红康 生活是属于每个人自己的感受&#xff0c;不…

Python:Docx文档模板创建使用

✨博文作者 wangzirui32 &#x1f496; 喜欢的可以 点赞 收藏 关注哦~~ &#x1f449;本文首发于CSDN&#xff0c;未经许可禁止转载 &#x1f60e;Hello&#xff0c;大家好&#xff0c;我是wangzirui32&#xff0c;今天我们来学习Docx文档模板创建与使用&#xff0c;开始学习吧…

2023新春祝福html代码,包你学会

前言大家新年好&#xff01;今天是年三十&#xff0c;在这个充满喜悦和欢乐的节日里&#xff0c;祝大家新年快乐。不论你在外面过的风生水起还是不尽人意&#xff0c;回到家一家人团团聚聚才是最好的。进入正题&#xff0c;我们作为IT民工&#xff0c;我们要用自己的方式表达对…

第三天总结 之 商品管理界面的实现 之 页面中 下拉框问题的解决

页面中下拉框问题的解决 在页面中 点击商品类型这个图标 会出现下拉框 展示所有的商品类型 然后通过选择的 类型 来作为 查询时的一个条件 即 当不选或选择展示所有商品时 按照 不对这个条件进行操作 选择其他的商品类型时 会查询出含有该类型的商品 下拉框中 数据的展示与 如…

java设计模式中责任链模式是什么/怎么用责任链模式避免if-else语句

继续整理记录这段时间来的收获&#xff0c;详细代码可在我的Gitee仓库SpringBoot克隆下载学习使用&#xff01; 6.5 责任链模式 6.5.1 定义 职责链模式&#xff0c;为避免请求发生者与多个处理者耦合在一起&#xff0c;将所有请求处理者通过前一对象记住其下一对象的引用而连…

重学Attention

注意力机制对比RNN 主要解决了RNN无法并行&#xff0c;并且不能解决长序列依赖问题 所以为什么设计 Q K V这三个矩阵 一边来是让 K V的 首先通过Q 和 K点击计算Attention矩阵&#xff0c;这个矩阵表明的是V上每一个特征与Q的相关程度&#xff0c;相关程度高的&#xff0c;权重…

解剖一道有意思的指针题

这道指针题挺有意思的&#xff0c;将各级指针之间的联系联系起来&#xff0c;仔细分析会发现也不难&#xff0c;重在逻辑思维&#xff0c;做完将会加深你对指针的理解的&#xff0c;好好享受指针带来的乐趣吧&#xff01;&#xff01;&#xff01;结果是什么呢&#xff1f;//题…

FPGA 20个例程篇:19.OV7725摄像头实时采集送HDMI显示(三)

第七章 实战项目提升&#xff0c;完善简历 19.OV7725摄像头实时采集送HDMI显示&#xff08;三&#xff09; 在详细介绍过OV7725 CMOS Sensor的相关背景知识和如何初始化其内部寄存器达到输出预期视频流的目的后&#xff0c;就到了该例程的核心内容即把OV7725输出的视频流预先缓…

Zotero入门教程

文章目录一、生成Bibliography二、Zotero文献自动导入1. 为什么要使用SCI-HUB2. 如何自定义PDF解析器三、在Zotero中添加Extension四、文件存储位置的修改五、markdown笔记功能一、生成Bibliography 在 Document Preferences中点击“管理样式”&#xff0c;就可以在Zotero Styl…

我的周刊(第075期)

我的信息周刊&#xff0c;记录这周我看到的有价值的信息&#xff0c;主要针对计算机领域&#xff0c;内容主题极大程度被我个人喜好主导。这个项目核心目的在于记录让自己有印象的信息做一个留存以及共享。&#x1f3af; 项目elasticvue[1]基于 Vue 的 Elasticsearch 管理客户端…

Linux常见命令 16 - 权限管理命令 chown, chgrp, umask

目录 1. 改变文件/目录所有者 chown 2. 改变文件/目录的所属组 chgrp 3. 显示文件的缺省(默认)权限 umask [-S] 1. 改变文件/目录所有者 chown 改变文件权限使用chmod&#xff0c;只有root和当前文件拥有者可以更改&#xff0c;如果想要更改目录/文件的所有者&#xff0c…

MutationObserver的示例代码的使用(附示例代码)

MutationObserver的使用 首先先介绍一下MutationObserver的特点 1.MutationObserver的回调属于微队列 2.它会在触发指定 DOM 事件时&#xff0c;调用指定的回调函数&#xff0c;说白了就是用来检测DOM节点的 MutationObserver回调函数 参数 callback 一个回调函数&#xff0…

论文投稿指南——中文核心期刊推荐(环境科学 2)

【前言】 &#x1f680; 想发论文怎么办&#xff1f;手把手教你论文如何投稿&#xff01;那么&#xff0c;首先要搞懂投稿目标——论文期刊 &#x1f384; 在期刊论文的分布中&#xff0c;存在一种普遍现象&#xff1a;即对于某一特定的学科或专业来说&#xff0c;少数期刊所含…

在甲骨文云容器实例(Container Instances)上部署Oracle Linux 7 Desktop

甲骨文云推出了容器实例&#xff0c;这是一项无服务器计算服务&#xff0c;可以即时运行容器&#xff0c;而无需管理任何服务器。 今天我们尝试一下通过容器实例部署Oracle Linux 7 Desktop。 创建容器实例 在甲骨文容器实例页面&#xff0c;单击"创建容器实例"&am…

分享150个PHP源码,总有一款适合您

PHP源码 分享150个PHP源码&#xff0c;总有一款适合您 下面是文件的名字&#xff0c;我放了一些图片&#xff0c;文章里不是所有的图主要是放不下...&#xff0c; 150个PHP源码下载链接&#xff1a;https://pan.baidu.com/s/1PWajFunhPFyoNFGc6F4qSQ?pwd0sq5 提取码&#…

Linux rm命令详解,Linux删除文件目录

「作者主页」&#xff1a;士别三日wyx 「作者简介」&#xff1a;CSDN top100、阿里云博客专家、华为云享专家、网络安全领域优质创作者 rm 命令一、常用操作1. 删除文件2. 删除目录二、其他操作作用&#xff1a;删除文件或目录 参数&#xff1a; -f 直接删除&#xff0c…

steam/csgo搬砖项目真的假的?

本文全文干货分享&#xff0c;如果你想通过steam搬砖做副业赚钱&#xff0c;看这一篇就够了&#xff01; 这个项目是什么意思&#xff1f; 是不是你也很好奇这个玩法&#xff1f;我们先看下我们自己的数据&#xff0c;再来解释一下我们怎么赚的钱 一、项目原理 利用steam平台…

【Spring5源码学习】Spring基础介绍及调试环境搭建

Spring 是一款用于简化企业级 Java 应用开发的分层开源框架&#xff0c;有着强大的扩展和融合能力&#xff0c;它善于整合各种单层框架并建立起完整的体系&#xff0c;能高效统一的构造可提供企业级服务的应用系统。 1、Spring 概述 Spring Framework 是一个分层非常清晰并且依…