安装.net 6.0
- sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
- sudo yum install dotnet-sdk-6.0
- sudo yum install dotnet-runtime-6.0
- dotnet –version 查看版本,看是否成功
VS2022发布.net网站
- 必须注意的是,要不在cs里面指定访问端口,http://localhost:5000,或者在appsettings.json里面,必须指定端口号。
“urls”: “http://*:5000”,
这个必须要加入到appsettings.json中,在第一个大括号内,第一行加入
- 如果是阿里云,腾讯云等,必须开通指定的端口号,一般是开通5000端口。
建立网站目录(这个目录随便建立,名称无所谓,位置无所谓)
- cd / 进入根目录
- mkdir www 建立个www目录
- cd www,进入www目录,建立mkdir core,再建立个core目录
- 将网站程序上传到服务器,我使用的是MobaXterm,连接服务器后,可以直接上传文件。
- 我上传的是.zip文件。将.zip文件可以转移到core目录下,mv abc.zip /www/core/
- 进入到core目录中,解压缩.zip文件。需要安装unzip。sudo yum install unzip。
- 解压.zip。unzip abc.zip。
启动.net程序
- dotnet WaterCloud.Web.dll
- 命令执行后,如果出现了几个info,就代表启动成功了,其中也会有端口号显示的。
- 在浏览器中,输入服务器的外网IP地址,加上端口号。比如:http://123.123.123.123:5000,如果网站启动了,就代表成功了。
- Ctrl+C 可以退出,但退出后,网站就无法运行了。
解决:重启服务器或者关闭程序,依然可以启动.net网站
- 在etc/systemd/system下创建service文件,比如:vi /etc/systemd/system/mycore.service
- 进入文件后,按i键,插入内容
文件内容如下:
[Unit]
Description=”ubif Service”
[Service]
Type=simple
GuessMainPID=true
WorkingDirectory=/www/core/ //项目路径
StandardOutput=journal
StandardError=journal
ExecStart=/usr/bin/dotnet WaterCloud.Web.dll //启动指令
Restart=always
[Install]
WantedBy=multi-user.target
以上代码拷贝到服务器后,把//注释的内容最好去掉,然后按ESC,输入:wq,保存退出。
- 自启动生效 systemctl enable mycore.service
- 立即启动服务 systemctl start mycore.service
- 查看服务状态 systemctl status mycore.service
如果看到,Active: active(running),就代表启动成功了。
可以shutdown -r now,重启下服务器,看是否网站还能运行。
重启后,也可以查看下5000端口是否激活
ss -tuln
完成以上操作后,其实.net就已经部署完成了,因为如果端口设置为80的话,就已经可以启动网站了。
但是,一般是会使用nginx的反向代理来实现端口映射的。
关于Nginx
- 如果还没有下载nginx,可以先安装命令 yum -y install wget
- wget http://nginx.org/download/nginx-1.26.1.tar.gz当然了,也可以到官网下载。
- 3. 到org官网下载,https://nginx.org/en/download.html,目前下载nginx-1.26.1就可以。
- 4. 将下载到的nginx-1.26.1.tar.gz文件上传到服务器
- 5. 进入到这个gz的所在目录。
- 6. 解压:tar -zxvf nginx-1.26.1.tar.gz
- 7. 命令 ls,查看下是否解压成功,成功会有一个nginx-.1.26.1的目录
- 8. cd nginx-.1.26.1,进入到这个解压后的目录中
- 9. gcc -v,查看下是否有安装gcc,这个一个c++的编译器,如果出现版本号,就是已经安装过了,一般9自带gcc版本4.8.5,注意:以前的经验,是4.8.5版本无法安装.net 8.0环境,但是可以安装.net 6.0,安装8.0,必须升级gcc版本到5.2.0
- 10. yum install gcc c++,再安装一次c++组件,确保组件齐全。
- 11. 安装pcre, yum install pcre pcre-devel,输入y安装,这是解析正则表达式用的。
- 12. yum install zlib zlib-devel,输入y安装,做压缩,解压缩处理的。
- 13. yum install openssl openssl-devel,安装ssl。
以上依赖包,也可以集体安装
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
配置Nginx
- 进入Nginx目录下,命令: ./configure –with-http_ssl_module
- 安装Nginx,命令: make&&make install
- 启动Nginx,
命令:cd/usr/local/nginx/sbin
sudo ./nginx
- 查看Nginx进程是否启动,命令:ps -ef|grep nginx
- 这时,在浏览器中输入服务器IP地址,不带端口,就是用默认的80端口,就应该出现Welcome to nginx!的页面了。
配置Nginx的服务器自启动
- cd /lib/systemd/system/
- 创建service并且编辑, vim nginx.service
- 写入内容:
[Unit]
Description=nginx service
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-suer.target
- 加入开机启动项 systemctl enable nginx
- 取消开机启动项 systemctl disable nginx
关于Nginx服务的各种命令
- 启动nginx服务 systemctl start nginx.service 如果上面开机启动了,这里可能显示failed,先不用管他。
- 停止服务 systemctl stop nginx.service
- 重启服务 systemctl restart nginx.service
- 查看所有启动的服务项 systemctl list-units –type=service
配置Nginx的Server节点
- cd /usr/local/nginx/conf
- Vi nginx.conf 按i开始编辑
- 找到文件中的server进行配置
server {
listen 80 default;
location / {
Proxy_pass http://localhost:5000;
}
- 重启Nginx服务
cd /usr/local/nginx/sbin
启动: ./nginx
关闭: ./nginx -s stop
重启: ./nginx -s reload
- 重启服务器,确认自启动是否成功。 shutdown -r now
- 查看下nginx的启动状态 ps -ef|grep nginx
关于Centos7 防火墙(新安装后的Centos 一般是没有启动防火墙的)
- 启动防火墙 sudo systemctl start firewalld
- 防火墙自启动 sudo systemctl enable firewalld
- 查看当前活动的防火墙区域:sudo firewall-cmd –get-active-zones
- 添加端口 sudo firewall-cmd –zone=public –add-port=8080/tcp –permanent
- 重新加载防火墙 sudo firewall-cmd –reload
- 查看当前防火墙规则 sudo firewall-cmd –list-all
暂无评论内容