首页 > 数据库 >linux安装netcore nginx postgresql ssh

linux安装netcore nginx postgresql ssh

时间:2024-07-04 09:02:19浏览次数:14  
标签:postgresql postgres netcore sudo apt nginx 16 PostgreSQL

sudo su

1.安装软件
$ sudo apt install 软件名

2.卸载软件
$ sudo apt remove 软件名

3.更新可用软件包列表
$ sudo apt update

4.更新已安装的包
$ sudo apt upgrade

通常安装完ubuntu之后, 可以先使用upgrade 更新一下当前系统中可以升级的的软件包
$ sudo apt update
$ sudo apt upgrade

安装 ssh
sudo apt install openssh-server

查看ssh状态
sudo systemctl status ssh
按q返回命令行。

系统自带的ufw防火墙允许ssh通过
sudo ufw allow ssh

安装netcore8
sudo apt-get install -y dotnet-sdk-8.0

查看是否安装成功:
dotnet --info

sudo apt install nginx

https://www.cnblogs.com/wang2650/p/16685206.html

数字形式显示权限
stat ./test.txt

修改权限
sudo chmod 777 文件名

测试配置是否正确:

sudo nginx -t
没问题之后,让Nginx重新加载配置

sudo nginx -s reload

修改权限
sudo chmod 644 文件名

开放80端口
sudo ufw allow 80

创建文件夹
sudo mkdir

修改文件名
mv a.txt a1.txt

安装postgresql 以root运行
cd /usr/local && wget https://ftp.postgresql.org/pub/source/v16.1/postgresql-16.1.tar.gz

解压
tar -zxvf postgresql-16.1.tar.gz && cd postgresql-16.1

安装依赖
apt-get -y install
build-essential
liblz4-dev
lz4
pkg-config
libreadline-dev
zlib1g-dev
libxml2-dev libxml2
libssh-dev
uuid-dev libossp-uuid-dev
llvm clang

查看编译参数
./configure --help

./configure --enable-debug --with-lz4 --with-openssl --with-libxml --with-ossp-uuid --with-llvm

make && make install

创建组
groupadd postgres

添加用户
useradd -g postgres postgres -m

创建数据目录 mkdir /var/pgsqldata

转移所有权
chown postgres:postgres /var/pgsqldata

sudo apt install gnupg2 wget vim curl -y
curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg

sudo apt install postgresql-16

安装postgresql找不到镜像源的问题 。 详细修改如下:

(1) 找到镜像源的文件位置

cd /etc/apt/ // 切换到/etc/apt/ 目录下

sudo cp sources.list sources.list.old // 先把源文件复制到sources.list.old,备份

(2 ) 没有安装过vim 先安装 vim。安装完后修改

sudo apt-get install vim

之后,进入镜像文件 sudo vim /etc/apt/sources.list

将原来文件的内容全部注释/删除,添加清华源(自己会一点基本的vim 操作)内容:Ubuntu 18.04的如下

默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse

:wq 退出vim 之后 再sudo apt-get update即可

按照以下步骤在 Ubuntu 22.04|20.04|18.04 上安装和配置 PostgreSQL 16。

1.配置PostgreSQL存储库
2.在Ubuntu 22.04|20.04|18.04上安装PostgreSQL 16
3.在Ubuntu 22.04|20.04|18.04上配置PostgreSQL 16
4. 连接到 PostgreSQL 16
5. PostgreSQL 16 入门

保护管理员用户
在 PostgreSQL 上创建用户
在 PostgreSQL 上创建数据库
判决
1.配置PostgreSQL存储库
为了能够在 Ubuntu 22.04|20.04|18.04 上安装 PostgreSQL 16,我们需要添加提供软件包的存储库。首先更新 APT 包索引:

sudo apt update -y
另外,安装所需的软件包:

sudo apt install gnupg2 wget vim -y
然后可以使用以下命令添加 PostgreSQL 存储库:

sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
现在下载存储库的密钥签名:

curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc|sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg
更新您的包裹清单:

sudo apt update -y
2.在Ubuntu 22.04|20.04|18.04上安装PostgreSQL 16
添加 APT 存储库后,安装 PostgreSQL 16 就变得如此简单。为此,请发出以下命令:

sudo apt install postgresql-16
依赖树:

The following NEW packages will be installed:
libcommon-sense-perl libjson-perl libjson-xs-perl libllvm10 libpq5
libtypes-serialiser-perl postgresql-16 postgresql-client-16 postgresql-client-common
postgresql-common sysstat
0 upgraded, 11 newly installed, 0 to remove and 435 not upgraded.
Need to get 35.8 MB of archives.
After this operation, 146 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
要安装最新的可用版本,请运行:

sudo apt-get -y install postgresql postgresql-contrib
安装后,启动并启用该服务:

sudo systemctl start postgresql
sudo systemctl enable postgresql
检查服务是否正在运行:

$ systemctl status postgresql
● postgresql.service - PostgreSQL RDBMS
Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
Active: active (exited) since Sat 2023-09-16 09:44:21 EAT; 1min 7s ago
Main PID: 4090 (code=exited, status=0/SUCCESS)
Tasks: 0 (limit: 4564)
Memory: 0B
CGroup: /system.slice/postgresql.service

Ful 16 09:44:21 thor-Standard-PC-i440FX-PIIX-1996 systemd[1]: Starting PostgreSQL RDBMS...
Ful 16 09:44:21 thor-Standard-PC-i440FX-PIIX-1996 systemd[1]: Finished PostgreSQL RDBMS.
检查已安装的 PostgreSQL 版本:

$ psql --version
psql (PostgreSQL) 16.0 (Ubuntu 16.0-1.pgdg20.04+1)
您还可以使用以下命令检查版本:

$ sudo -u postgres psql -c "SELECT version();"
version

PostgreSQL 16.0 (Ubuntu 16.0-1.pgdg20.04+1) on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0, 64-bit
(1 row)
3.在Ubuntu 22.04|20.04|18.04上配置PostgreSQL 16
安装完成后,您可以根据需要继续并配置 PostgreSQL。 PostgreSQL 支持多种身份验证方法。默认方法是身份验证。此身份验证方法将 UNIX 用户与 Postgres 角色关联。

其他身份验证方法有:

密码身份验证 – 使用密码连接到 PostgreSQL。
信任身份验证 – 只要满足 pg_hba.conf 中定义的条件,就允许角色进行连接。
对等身份验证 – 这与 ident 类似,但仅在本地连接上受支持。
我们将首先配置 PostgreSQL 16 以允许远程连接。这可以通过编辑以下文件来完成:

sudo vim /etc/postgresql/16/main/postgresql.conf
在文件中,找到并修改以下行,如下所示:

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

CONNECTIONS AND AUTHENTICATION

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

- Connection Settings -

listen_addresses = '' # what IP address(es) to listen on;
# comma-separated list of addresses;
# defaults to 'localhost'; use '
' for all
完成更改后,保存文件。

继续并使用以下命令允许密码身份验证:

sudo sed -i '/^host/s/ident/md5/' /etc/postgresql/16/main/pg_hba.conf
现在使用以下命令将识别方法从对等更改为信任:

sudo sed -i '/^local/s/peer/trust/' /etc/postgresql/16/main/pg_hba.conf
最后,通过编辑以下行允许远程访问 PostgreSQL:

$ sudo vim /etc/postgresql/16/main/pg_hba.conf

IPv4 local connections:

host all all 127.0.0.1/32 scram-sha-256
host all all 0.0.0.0/0 scram-sha-256

IPv6 local connections:

host all all ::1/128 scram-sha-256
host all all 0.0.0.0/0 md5
保存所做的更改并重新启动服务:

sudo systemctl restart postgresql
如果启用了防火墙,请允许 PostgreSQL 端口通过:

sudo ufw allow 5432/tcp
4. 连接到 PostgreSQL 16
有两种方法可以用来连接 PostgreSQL。这些都是:

方法一:直接连接PosgreSQL:

$ sudo -u postgres psql
psql (16.0 (Ubuntu 16.0-1.pgdg20.04+1))
Type "help" for help.

postgres=#
方法二:切换到Postgres用户:
sudo -i -u postgres
然后连接到实例:

$ psql
psql (16.0 (Ubuntu 16.0-1.pgdg20.04+1))
Type "help" for help.

postgres=#
您可以使用以下命令从客户端远程连接到 PostgreSQL:

psql 'postgres://:@:/?sslmode=disable'
例如:

psql 'postgres://[email :5432/postgres?sslmode=disable'
5. PostgreSQL 16 入门
连接到数据库后,您可以执行多项活动。在本指南中,我们将学习基本操作。这些包括:

保护管理员用户
我们首先为默认的 postgres 用户设置密码:

ALTER USER postgres PASSWORD 'Str0ngP@ssw0rd';
将密码替换为您自己想要的密码字符串。然后您可以退出外壳:

postgres=# \q
现在测试密码是否有效:

$ psql -h localhost -U postgres
Password for user postgres: Enter_set_password
psql (16.0 (Ubuntu 16.0-1.pgdg20.04+1))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.

postgres=#
在 PostgreSQL 上创建用户
在本指南中,我们将学习如何创建带有密码的超级用户。为此,请运行以下命令,并根据需要替换用户名和密码:

CREATE ROLE admin WITH LOGIN SUPERUSER CREATEDB CREATEROLE PASSWORD 'Passw0rd';
验证用户创建:

postgres=# \du
List of roles
Role name | Attributes
-----------+------------------------------------------------------------
admin | Superuser, Create role, Create DB
postgres | Superuser, Create role, Create DB, Replication, Bypass RLS
在 PostgreSQL 上创建数据库
要创建测试数据库,请使用以下命令:

CREATE DATABASE sampleDB;
您还可以创建具有管理数据库权限的用户:

CREATE USER demo_user with encrypted password 'PassW0rd';
GRANT ALL PRIVILEGES ON DATABASE sampleDB to demo_user;

标签:postgresql,postgres,netcore,sudo,apt,nginx,16,PostgreSQL
From: https://www.cnblogs.com/wang2650/p/18282870

相关文章

  • 全链路性能测试:Nginx 负载均衡的性能分析和调优
    为什么性能测试很多同学觉得是一个比较难以自学上岸的测试领域,是因为真正做全链路的性能测试是比较难的。所谓的全链路就是在项目的整个链路上任何一环节都有可能存在性能测试瓶颈,我们都需要能够通过分析性能的监控指标找到对应的问题。我们今天要讲的Nginx负载均衡就是属于......
  • nginx https配置& proxy_protocol协议配置
    server{ listen8100proxy_protocol; set_real_ip_from0.0.0.0/0; real_ip_headerproxy_protocol; location/{ proxy_set_headerX-Real-IP$proxy_protocol_addr;proxy_set_headerX-Forwarded-For$proxy_protocol_addr; proxy_passh......
  • PostgreSQL学习之基于时间的认证
        设计        如果要限制用户在某一天的某时间段可以登录,某时间段不可以登录,在此做了一种简单的实现,通过pg_hba.conf文件配置时间段,示例如下:#TYPEDATABASEUSERADDRESSTIMEMETHOD#"local"isforUnixdomains......
  • PostgreSQL学习之使用LDAP认证
        PostgreSQL使用LDAP认证,简单说就是将用户名和密码存储在LDAP服务器上,postgresql数据库必须有相同的用户(用户名称相同,密码可以不同),当数据库客户端登录数据库时,数据库服务器不使用本地的密码校验机制而是去请求LDAP服务器验证用户名密码是否正确,正确则登录成功,失败......
  • nginx开启https
    生成自签名证书如果是在运营商处获得的证书,则不用这一步点击查看代码mkdir/etc/nginx/sslcat>/etc/nginx/ssl/nginx.cnf<<EOF[req]default_bits=2048distinguished_name=req_distinguished_namereq_extensions=req_extx509_extensions=v3_re......
  • Nginx实战书籍_220
    ......
  • Nginx实战书籍_240
    ......
  • Nginx实战书籍_260
    ......
  • Nginx实战书籍_280
    ......
  • 【postgresql】表操作
    创建表(CREATETABLE):CREATETABLEtable_name(column1data_typeconstraint,column2data_typeconstraint,...);插入数据(INSERTINTO):INSERTINTOtable_name(column1,column2,...)VALUES(value1,value2,...);查询数据(SELECT):SELECTcol......