基於.NET Core開發的我的博客發佈至CentOS小計

早些時候,使用 .NET Framework 開發網站,只能部署在 Windows 服務器上面,近兩年 .NET Core 如火如荼,乘此機會趕忙上車,最近將本身利用 .NET Core 開發的我的博客發佈在了 CentOS 上,簡單記錄一下使用過程和一些經常使用的命令,以備不時之需。html

博客地址:https://meowv.compython

渣渣服務器配置信息

  • 操做系統 CentOS 7.6 64 位
  • CPU 1 核
  • 內存 1 GB
  • 公網帶寬 1 Mbps

強大的管理工具

  • Xshell:強大的安全終端模擬軟件,它支持 SSH1, SSH2, 以及 Microsoft Windows 平臺的 TELNET 協議。
  • WinSCP:WinSCP 是一個 Windows 環境下使用的 SSH 的開源圖形化 SFTP 客戶端。同時支持 SCP 協議。它的主要功能是在本地與遠程計算機間安全地複製文件,而且能夠直接編輯文件
  • Xftp:Xftp 是一個功能強大的 SFTP、FTP 文件傳輸軟件。使用了 Xftp 之後,MS Windows 用戶能安全地在 UNIX/Linux 和 Windows PC 之間傳輸文件。

安裝 .NET Core SDK

sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

sudo yum update
sudo yum install dotnet-sdk-2.2

dotnet --info

安裝 Nginx

curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

rpm -ivh nginx.rpm

yum install nginx

systemctl start nginx #啓動nginx
systemctl enable nginx #設置nginx的開機啓動

Nginx 配置

server {
        listen 443 ssl;
        server_name meowv.com;
        ssl_certificate ssl/1_meowv.com_bundle.crt;
        ssl_certificate_key ssl/2_meowv.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
        ssl_prefer_server_ciphers on;
        # error_page 403 https://meowv.com;
        location / {
            # add_header Access-Control-Allow-Origin *;
            # root   /qix/static;
            proxy_pass http://localhost:5000;
            proxy_set_header   X-Real-IP        $remote_addr;
            proxy_set_header   Host             $host;
            proxy_set_header   X-Forwarded-For  $proxy_add_x_forwarded_for;
        }
}

server {
    listen 80;
    server_name meowv.com;
    rewrite ^(.*)$ https://meowv.com;
}

安裝 Supervisor 守護進程

yum install python-setuptools

easy_install supervisor

mkdir /etc/supervisor
echo_supervisord_conf > /etc/supervisor/supervisord.conf

配置 Supervisor

找到文件 /etc/supervisor/supervisord.conf 去掉文件最後的註釋並修改成nginx

[include]
files = conf.d/*.ini

在 /etc/supervisor/ 下新建文件夾 conf.d,conf.d 文件夾下新建 meowv.conf 文件,內容爲shell

[program:meowv] #meowv爲程序名稱
command=dotnet MeowvBlog.Web.dll #執行的命令
directory=/qix/meowv # 命令執行的目錄
environment=ASPNETCORE__ENVIRONMENT=Production #環境變量
user=root #用戶
stopsignal=INT
autostart=true #是否自啓動
autorestart=true #是否自動重啓
startsecs=3 #自動重啓時間間隔(s)
stderr_logfile=/var/log/meowv.com.err.log #錯誤日誌文件
stdout_logfile=/var/log/meowv.com.out.log #輸出日誌文件

利用 crontab 定時執行 Python 爬蟲任務

在 Windows 平臺咱們能夠使用任務計劃程序運行定時任務,那麼在 Linux 下有 crontab 幫咱們實現centos

能夠用crontab -e命令來編輯/var/spool/cron下對應用戶的cron文件,也能夠直接編輯/etc/crontab安全

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
*/30 * * * * /bin/python /qix/spider/spider.py #每30分鐘執行一次
systemctl start  crond.service #啓動
systemctl status  crond.service #查看狀態
systemctl stop  crond.service #中止
systemctl restart  crond.service #從新啓動
systemctl reload  crond.service #從新加載

經常使用命令

cd                 #目錄跳轉
cd /               #回到上一個目錄
ls                 #查看目錄下的文件
df -h              #查看文件使用狀況
mkdir              #建立文件夾文件夾
vi                 # 編輯文件
:wq!               #保存文件,並退出vi
ifconfig -a        #查看ip
free               #查看系統資源使用狀況
reboot             # 重啓系統
nginx -s reload    # 刷新nginx配置使其生效
supervisorctl start program_name   #啓動某個進程(program_name=配置的進程名稱)
supervisorctl stop program_name    #中止某一進程
supervisorctl reload               #從新啓動配置中的全部程序
supervisorctl stop all             #中止所有進程
supervisorctl update               #更新新的配置到supervisord
supervisorctl restart program_name #重啓某一進程
supervisorctl                      #查看正在守候的進程

原文出處:https://www.cnblogs.com/meowv/p/11357377.html服務器

相關文章
相關標籤/搜索