ubuntu升级软件和安装Nginx

首先看下有没有需要升级的软件

# apt list --upgradable
Listing... Done
linux-generic/focal-updates 5.4.0.60.63 amd64 [upgradable from: 5.4.0.54.57]
linux-headers-generic/focal-updates 5.4.0.60.63 amd64 [upgradable from: 5.4.0.54.57]
linux-image-generic/focal-updates 5.4.0.60.63 amd64 [upgradable from: 5.4.0.54.57]

还好,刚才已经把软件包升级过了,现在只要升级系统就可以。

升级软件包命令

sudo apt-get update 更新源
sudo apt-get upgrade 更新已安装的包

升级系统命令如下

sudo apt-get dist-upgrade 升级系统

然后在看下,都是最新的了。

#apt list --upgradable
Listing... Done
root@MDaliyun ~ # sudo apt update
Hit:1 http://mirrors.cloud.aliyuncs.com/ubuntu focal InRelease
Hit:2 http://mirrors.cloud.aliyuncs.com/ubuntu focal-updates InRelease
Hit:3 http://mirrors.cloud.aliyuncs.com/ubuntu focal-security InRelease
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.

下来安装Nginx

安装Nginx

sudo apt install nginx

查看Nginx状态

 sudo systemctl status nginx

root@MDaliyun / # vi /etc/nginx/nginx.conf

编辑 nginx.conf 文件。
找到 server{…},并将 server 大括号中相应的配置信息替换为如下内容。用于取消对 IPv6 地址的监听,同时配置 Nginx,实现与 PHP 的联动。

server {
 listen       80;
 root   /usr/share/nginx/html;
 server_name  localhost;
 #charset koi8-r;
 #access_log  /var/log/nginx/log/host.access.log  main;
 #
 location / {
       index index.php index.html index.htm;
 }
 #error_page  404              /404.html;
 #redirect server error pages to the static page /50x.html
 #
 error_page   500 502 503 504  /50x.html;
 location = /50x.html {
   root   /usr/share/nginx/html;
 }
 #pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
 #
 location ~ .php$ {
   fastcgi_pass   127.0.0.1:9000;
   fastcgi_index  index.php;
   fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
   include        fastcgi_params;
 }
}

参考文档如下
https://www.myfreax.com/how-to-install-nginx-on-ubuntu-18-04/

Ubuntu安装oh-my-zsh

1 直接安装zsh

#sudo apt update
#sudo apt install zsh

显示版本

# zsh --version
zsh 5.8 (x86_64-ubuntu-linux-gnu)

设置ZSH为默认shell

# chsh -s /bin/zsh

修改vps上的hosts

#whereis hosts
hosts: /etc/hosts.allow /etc/hosts.deny /etc/hosts /usr/share/man/man5/hosts.5.gz
# vi /etc/hosts

添加如下内容

127.0.0.1       localhost
# GitHub Start
52.74.223.119 github.com
192.30.253.119 gist.github.com
54.169.195.247 api.github.com
185.199.111.153 assets-cdn.github.com
#151.101.76.133 raw.githubusercontent.com
151.101.108.133 raw.githubusercontent.com
151.101.108.133 user-images.githubusercontent.com
151.101.76.133 gist.githubusercontent.com
151.101.76.133 cloud.githubusercontent.com
151.101.76.133 camo.githubusercontent.com
151.101.76.133 avatars0.githubusercontent.com
151.101.76.133 avatars1.githubusercontent.com
151.101.76.133 avatars2.githubusercontent.com
151.101.76.133 avatars3.githubusercontent.com
151.101.76.133 avatars4.githubusercontent.com
151.101.76.133 avatars5.githubusercontent.com
151.101.76.133 avatars6.githubusercontent.com
151.101.76.133 avatars7.githubusercontent.com
151.101.76.133 avatars8.githubusercontent.com
# GitHub End

安装oh-my-zsh(下面是官网命令)

Method  Command
curl    sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
wget    sh -c "$(wget -O- https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
fetch   sh -c "$(fetch -o - https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

最终因为“墙”的问题,总是出现下面的问题

Failed to connect to raw.githubusercontent.com port 443: Connection refused

安装了openssl,安装git,安装wget,修改了上面的hosts,都无济于事。我就不打算折腾了,直接玩zsh也罢。
不玩不知道,zsh更方便。

2 新建一个zshrc配置文件如下

vi ~/.zshrc

文件内容如下

autoload -U compinit promptinit
compinit
promptini

执行命令 source ~/.zshrc 来生效修改的配置,而不需要重新登录,然后使用命令

# prompt -p

哈哈,显示如下缤纷灿烂的提示符,我选择prompt adam1,每次登录会恢复到原始状态,根据心情,选择一个就好。

配置Zsh可参考下文
https://wiki.archlinux.org/index.php/Zsh_(简体中文)

关于oh-my-zsh

使用oh-my-zsh,对vps终端提示符进行优化,实现”主机名+当前目录+时间“的显示效果。

1 安装zsh
查看系统当前shell

# 查看系统当前 shell
cat /etc/shells

看zsh版本

zsh --version

2 安装oh-my-zsh
CURL安装

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

WGET 安装

sh -c "$(wget https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

3 选择特定theme
可以先看一下

open ~/.zshrc

在mac上使用open会打开文本编辑器,我没有尝试是否可以修改,直接用vi就好了

vi /etc/zshrc
vi ~/.zshrc

将ZSH_THEME后面修改为自己喜欢的theme

# See https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
ZSH_THEME="robbyrussell"

3 使用vi编辑器.

/vi ./root/.oh-my-zsh/themes/robbyrussell.zsh-theme

增加下面一行

#PROMPT='$USER${ret_status}%{$fg[cyan]%}%d%{$reset_color%}$(git_prompt_info)[%T]'
PROMPT='$HOST${ret_status}%{$fg[cyan]%}%d%{$reset_color%}$(git_prompt_info)[%T]'
MDMacPro.local/[10:23]

我的其他配置

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg_bold[blue]%}git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%} "
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

以上操作结束后,重启terminal;远程登录vps,logout即可。

修复wordpress及插件更新问题(FTP权限)

来自(https://www.dingguohua.com/tech/lnmp-wordpress-ftp.html )
假设你的 WordPress 安装目录为 /home/wwwroot/www.dingguohua.com
用 ssh客户端登录 Linux VPS ,执行:

chown -R www /home/wwwroot/www.dingguohua.com

此方法在centos上没有成功,我使用如下命令

chmod -R 777 /usr/share/nginx/html/wordpress

执行上面的命令就可以将 /home/wwwroot/www.dingguohua.com 下所有文件的属主改为 www ,这样就可以解决自动更新必须填FTP的问题。
基本上按以上方法就可以解决问题,如果还不能正常成功更新,例如还是出现需要输入FTP用户名和密码的窗口,则可以尝试修改 wp-config.php 文件
在 wp-config.php 中加入一行代码

define(‘FS_METHOD’, “direct”);

完成以上修改后,点击wordpress后台仪表盘的更新按钮,就会直接进入更新。