第一章:安装包上传服务器
1.1 利用xftp连接到linux,可视化方式上传文件
进入xftp
进入后效果
上传程序压缩包(可以改名)
1.2 解压上传的网站程序压缩包
启动撰写功能
解压命令
#确定回到根目录 cd ~ # 解压刚上传的压缩包(smartintranetportal_10.0.0.0.zip),并放到 ***(gztest)目录下 # sudo unzip -q 程序压缩包名称.zip -d ~/解压后存放文件夹名 sudo unzip -q smartintranetportal_10.0.0.0.zip -d ~/gztest
解压后效果:
1.3 将解压的文件移放到 /var/www/ 目录下
创建网站存放文件夹
在/var/www 下创建文件夹,也可以用xftp创建
#创建 gzsiptest的文件夹,在/var/www 目录下 sudo mkdir -p /var/www/gzsiptest/
效果:
转移网站程序
#转移文件 sudo cp -rfT 源文件夹路径 目标文件夹路径 sudo cp -rfT ~/gztest/WebSite /var/www/gzsiptest
效果:
代表转移成功了
第二章:配置网站数据库相关内容
2.1 创建该项目单独的达梦数据库用户名和权限
#进入服务根目录 cd ~ #进入达梦数据库目录 cd /home/dmdba/dmdbms/bin #链接本地达梦数据库 #./disql sysdba/密码@主机:端口号,例如: ./disql SYSDBA/SYSDBA@localhost #创建本站的数据库用户名和密码,注意:用户名等于本站数据库名 create user "gzsiptest" identified by "gzsiptest"; #给gzsiptest设置权限 注意:to 后面的是刚才的用户名"gzsiptest" grant "DBA","PUBLIC","VTI","SOI" to "gzsiptest"; #建议再配置两个用户权限,网站数据库缓存、网站数据库监控 #页面缓存数据库用户,名字规律:主表名称_DataBaseOutputCache;密码跟主表一致 create user "gzsiptest_DataBaseOutputCache" identified by "gzsiptest"; #设置权限 grant "DBA","PUBLIC","VTI","SOI" to "gzsiptest_DataBaseOutputCache"; #网站监控数据库用户,名字规律:主表名称_ConnectionMonitor;密码跟主表一致 create user "gzsiptest_ConnectionMonitor" identified by "gzsiptest"; #设置权限 grant "DBA","PUBLIC","VTI","SOI" to "gzsiptest_ConnectionMonitor"; #退出 exit
2.2 配置数据库连接字符串
下载配置文件
用sublime打开
code
{ "DatabaseProvider": { /*达梦数据库*/ "CurrentProvider": "DaMeng" }, "ConnectionStrings": { /*网站主表数据*/ "DmConnection": "Server=localhost;Uid=gzsiptest;Pwd=gzsiptest;", /*网站监控数据*/ "DmConnectionMonitorConnection": "Server=localhost;Uid=gzsiptest_ConnectionMonitor;Pwd=gzsiptest;", /*网站页面缓存数据*/ "DmDataBaseOutputCacheConnection": "Server=localhost;Uid=gzsiptest_DataBaseOutputCache;Pwd=gzsiptest;", } }
上面的三个Uid=****; Pwd=****跟数据库创建的用户密码是一一对应的!
保存重新上传覆盖
第三章:配置网站信息
3.1 配置网站目录权限
代码:
#给刚才存放网站的文件夹配置 www-data用户权限,该用户已创建存在 其中 gzsiptest 为当前站点根目录 sudo chown www-data -R /var/www/gzsiptest
效果:
3.2 配置site.config文件信息
位置:根目录/Config/Site.config
<!-- Scheme 网络协议:测试站使用http --> <Scheme>http</Scheme> <!-- 域名,本服务域名都是:webfuture.powereasy.net --> <Domain>webfuture.powereasy.net</Domain> <!-- 端口号,范围:9301-9399 --> <Port>9318</Port>
查看端口是否被使用
#设置端口号时先查看端口是否被占用 netstat -nultp
3.3 创建启动服务文件、
在/etc/systemd/system目录下手动创建一个gzsiptest.service文件,然后右键编辑gzsiptest.service文件。
注意:程序服务名,最好跟网站文件夹存放的名称完全一致+.service
编辑内容以SIP10.0为基准,各自的可以参考各自安装包的说明文档中 5.5.1部分
原版:
[Unit] Description=SmartIntranetPortal Website Service [Service] WorkingDirectory=/var/www/smartintranetportal ExecStart=/usr/share/dotnet/dotnet /var/www/smartintranetportal/PowerEasy.WebSite.SmartIntranetPortal.dll Restart=always RestartSec=10 KillSignal=SIGINT SyslogIdentifier=smartintranetportal User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=ASPNETCORE_URLS=http://*:5000 Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
根据实际情况修改后效果:
[Unit] Description=SmartIntranetPortal Website Service [Service] WorkingDirectory=/var/www/gzsiptest ExecStart=/usr/share/dotnet/dotnet /var/www/gzsiptest/PowerEasy.WebSite.SmartIntranetPortal.dll Restart=always RestartSec=10 KillSignal=SIGINT SyslogIdentifier=smartintranetportal User=www-data Environment=ASPNETCORE_ENVIRONMENT=Production Environment=ASPNETCORE_URLS=http://*:9318 Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false [Install] WantedBy=multi-user.target
说明:
SyslogIdentifier=smartintranetportal //程序日志标志 WorkingDirectory=/var/www/网站文件夹名称 ExecStart=/usr/share/dotnet/dotnet /var/www/网站文件夹名称/ Environment=ASPNETCORE_URLS=http://*:9318(启动的端口号,注意:同一台服务器多站点部署时 每个站点必须不同,不能冲突,本服务器的端口范围9301-9399,跟site.cofig的一致)
第五章:启动网站服务
启动网站服务
#返回linux根目录 cd ~ #启动网站服务 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ #systemctl start ****.service #本演示的启动代码 systemctl start gzsiptest.service
设置开机自动启动
#开机自启动网站程序 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ #systemctl enable ****.service #本演示的启动代码 systemctl enable gzsiptest.service
其它命令
设置达梦数据库服务
服务器关机后数据库不会自动启动时将要手动重启
启动服务
#进入达梦数据库目录 cd /home/dmdba/dmdbms/bin #默认安装目录是这个,根据实际情况调整 #启动服务 systemctl start DmServiceDMSERVER
设置开机自启动
#设置每次开机自动启动达梦数据库 systemctl enable DmServiceDMSERVER
查看数据库状态
#查看数据库服务状态 systemctl status DmServiceDMSERVER
设置网站服务
启动服务
#返回linux根目录 cd ~ #启动网站服务 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ systemctl start ****.service
当同一服务器多个站点时,这个站点服务名称是必须自定义的
设置开机自启动
#开机自启动网站程序 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ systemctl enable ****.service
关闭服务
#关闭网站服务 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ systemctl stop ****.service
修改完服务文件后,需要重启服务
#重新加载服务配置文件 sudo systemctl daemon-reload #重新启动服务 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ sudo systemctl restart ****.service
查看服务状态
#查看服务状态 **** 代表该网站启动服务文件名,位置:/etc/systemd/system/ systemctl status ****.service
服务器端口设置
查看防火墙开放端口
#查看防火墙开放端口 iptables -nL
查看正在使用的端口
#查看端口使用情况 netstat -nultp
防火墙端口文件路径
#防火墙文件路径的public.xml文件 /etc/firewalld/zones
重新加载防火墙配置
#重新加载配置 firewall-cmd --reload
Nginx的配置
编辑ngnix的配置文件
在Xftp工具上打开中标麒麟/etc/nginx/conf.d目录下的default.conf文件
代码说明
# 此段 开始 # map $http_upgrade $connection_upgrade { default Upgrade; '' close; } # 此段 结束 中间部分的代码删除 # server { listen 80; #此端口好不准重复以8* 开始 server_name smartintranetportal.cn *.smartintranetportal.cn; add_header Strict-Transport-Security max-age=15768000; return 301 https://$http_host$request_uri; } # 此段 开始 # upstream smartintranetportal{ server localhost:5000; } # 此段 结束 别名设置,本服务器不需要 删除 # server { listen *:443 ssl; #此443端口必须修改为9300-9399范围的端口号 server_name smartintranetportal.cn *.smartintranetportal.cn; ssl_certificate /etc/ssl/certs/smartintranetportal.cn.crt; # 证书路径 ssl_certificate_key /etc/ssl/certs/smartintranetportal.cn.key; # 请求认证 key 的路径 ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"; ssl_ecdh_curve secp384r1; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"; #add_header X-Frame-Options DENY; add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_set_header Host $host; proxy_set_header Referer $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; #Redirects all traffic client_max_body_size 100m; proxy_buffer_size 128k; proxy_buffers 32 32k; proxy_busy_buffers_size 128k; location / { proxy_pass http://localhost:5000; #此端口号必须服务文件.service中Environment的一致,并且跟其它站点不准重复 # limit_req zone=one burst=100000 nodelay; } }
重启读取nginx配置信息
#重启读取nginx配置信息 nginx -s reload