早些時候,使用 .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服務器