如何购买阿里云及如何配置这里就不细说了,网上找找吧。
我选择的镜像是Ubuntu20.04的镜像。
以下两款软件都是免费的
Xshell用于访问服务器
Xftp用于上传文件
sudo apt-get update #更新源
sudo apt-get install mysql-server #安装
安装完成后,可以通过下面的命令来查看时候安装成功:
systemctl status mysql
以root用户登陆
sudo mysql -u root -p # -u 指定用户名 -p需要输入密码
或者
sudo mysql #可以不需要指定用户名密码
MySql 从8.0开始修改密码有了变化,在user表加了字段authentication_string,修改密码前先检查authentication_string是否为空,可以直接修改密码,不用修改配置文件。
use mysql;
update user set authentication_string='' where user='root'; --将字段置为空
alter user 'root'@'localhost' identified with mysql_native_password by 'MyPwd';
sudo service mysql start
sudo rm /var/lib/mysql/ -R
sudo rm /etc/mysql/ -R
sudo apt-get autoremove mysql* --purge
将 Microsoft 包签名密钥添加到受信任密钥列表,并添加包存储库。
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-3.1 #注意版本
sudo apt-get install -y gpg
wget -O - https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
wget https://packages.microsoft.com/config/ubuntu/20.04/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update; \
sudo apt-get install -y apt-transport-https && \
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-5.0 #注意版本
dotnet --version
这时你就可以把项目通过Xftp上传至服务器
sudo apt-get install rar
sudo apt-get install unrar
unrar x file.rar #解压rar
unzip file.zip #解压zip
解压后可以通过dotnet CodeSnippet.cn.dll --urls http://*:5001
命令来启动你的项目。
sudo apt install supervisor
一般情况下,如果安装了 supervisor 以后,在对应的 /etc/supervisor 下面会产生一个文件,如果没有,可以通过以下命令进行创建。
mkdir /etc/supervisor
目录创建成功后, 通过 echo_supervisord_conf 程序(用来生成初始配置文件,文件名可以自定义)来初始化一个配置文件。阿里云的服务器安装完守护进程后是自带这个文件的。
echo_supervisord_conf > /etc/supervisor/supervisord.conf
在本地创建文件CoreWebTest.conf 内容如下:(正常的配置文件好像是没有逗号)
[program:CodeSnippet] ;自定义进程名称, 根据自己喜好命名
command=dotnet CodeSnippet.cn.dll ;程序启动命令 使用dotnet 命令
directory=/home/wwwroot/CodeSnippet ;命令执行的目录 你.NET Core 程序存放目录
autostart=true ;在Supervisord启动时,程序是否启动
autorestart=true ;程序退出后自动重启
startretries=5 ;启动失败自动重试次数,默认是3
startsecs=1 ;自动重启间隔
user=root ;设置启动进程的用户,默认是root
priority=999 ;进程启动优先级,默认999,值小的优先启动
stderr_logfile=/var/log/CodeSnippet.err.log ;标准错误日志 路径可以自定义
stdout_logfile=/var/log/CodeSnippet.out.log ;标准输出日志 路径可以自定义
environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
stopsignal=INT ;请求停止时用来杀死程序的信号
将文件上传到目录:/etc/supervisor/conf.d下
如果文件传输的过程中,发现不能传输,可能是因为权限不够,可以执行如下命令,更改权限。
chmod 777 + 文件路径
也可以通过如下命令。打开一个带有权限的资源管理器:
sudo nautilus
更新新的配置到supervisord,一般都是改.conf文件后使用该命令
supervisorctl update
supervisord -c /etc/supervisor/supervisord.conf
如果遇到如下错误
Error: Another program is already listening on a port that one of our
HTTP servers is configured to use. Shut this program down first before
starting supervisord.For help, use /usr/bin/supervisord -h
这种情况下可以执行:
unlink /var/run/supervisor.sock
unlink /tmp/supervisor.sock
这个错误的原因就是supervisor.sock 这个文件会被系统自动删除或者其它原因不存在了,删除软连接就可以了。 supervisor.sock 生成的位置可以去 supervisor 的配置文件中找到。
成功之后,就可以使用如下命令管理supervisor服务了
# 停止
systemctl stop supervisor
# 启动
systemctl start supervisor
# 状态
systemctl status supervisor
# 重载
systemctl reload supervisor
# 重启
systemctl restart supervisor