nginx访问页面报403的解决方法

近期搭建一个Wordpress站点,前期的准备工作完成,登录界面登录成功后,
显示的页面为403,禁止访问。

在网上搜索后,发现问题在于权限的问题,主要是页面文件所在的文件夹的访问
权限。由于nginx默认使用的用户权限无法访问页面的文件,导致报的403。

解决方法:

1、打开nginx.conf文件修改启动用户

1
$ vim /user/local/nginx/conf/nginx.conf

修改开头的用户,
#user nobody

改为
user nginx web;

或者其他用户,格式为用户[空格]用户组

2、重新启动nginx

1
$ /user/local/nginx/sbin/nginx -s reload

此时,重新测试,应该就可以访问成功了。

ssh密钥登录配置

配置密钥可使用户免密ssh方式登录服务器。

配置方法:

生成密钥对

1
$ ssh-keygen

此处可选择生成密钥的文件路径,默认为~/.ssh/id_rsa
密码为可选。

拷贝公钥到服务器

方式一:

1
$ ssh-copy-id -i ~/.ssh/id_rsa.pub xxx@host

方式二:

手动拷贝id_rsa.pub到服务器上,并收到添加认证文件。

1
$ cat id_rsa.pub >> ~/.ssh/authorized_keys

服务器配置

配置服务器上/etc/ssh/sshd_config文件,修改以下配置项

1
2
3
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

修改后,重启sshd服务,根据不同的系统使用相应命令

登录

直接登录

1
$ ssh user@host

如果配置成功,则不需要密码直接登录。

问题

配置成功后,仍提示密码输入

主要原因在于服务器上认证文件及所在目录的权限问题

详情排查步骤可查看文章配置ssh公钥登录提示还是输入密码

解决方法:

1
$ chmod 755 ~/home/xxxuser

Linux下搜索查找命令

搜索查找命令

which - 显示命令的完整路径

说明:
查找命令的路径

locate - 根据用户权限索引和搜索系统中的所有文件

说明:
updatedb用于更新索引数据库

find - 查找一个目录下的文件

说明:

通过名称搜索

find -name “query”

忽略大小写搜索

find -iname “query”

查找不包含的搜索

find -not -name “query”
find ! -name “query”

通过类型搜索

find -type type_descriptor query
f: regular file
d: directory
I: symbolic link
c: character devices
b: block devices

find / -type c
find / -type f -name “*.conf”

通过时间和大小过滤

c: bytes
k: Kilobytes
M: Megabytes
G: Gigabytes
b: 512-byte blocks

find / -size 50c
find / -size -50c
find / -size +700M

Access Time: 上一次读写时间
Modification Time: 上一次文件内容修改的时间
Change Time: 上一次节点元数据修改时间

find / -mtime 1
find / -atime -1
find / -ctime +3

参考

MAC下通过ssh使用PEM文件认证登录AWS的虚拟机

MAC下通过ssh使用PEM文件认证登录AWS的虚拟机。

直接连接

输入以下命令即可访问:

1
ssh -i key.pem xxx@server

常见错误:
截图

问题在于服务器提示文件的权限过大,需要调整,再次连接即可。

1
2
sudo chmod 600 key.pem
ssh -i key.pem xxx@server

保存key

另外一种方式,可通过ssh-add添加配置文件,方便后续访问。
添加完成后,直接访问即可。

1
2
ssh-add -k key.pem
ssh xxx@server