CentOS 7.x 使用笔记
一、安装 Java 1.8
在 CentOS 7 系统上安装Java,遵循以下步骤:
1、更新系统:
sudo yum update
2、查看可安装版本:
sudo yum -y list java*
3、安装 1.8 版本:
sudo yum -y install java-1.8.0-openjdk*
4、验证安装是否成功:
java -version
如果看到Java版本信息,则表示安装成功。
二、安装 MySQL 8
在 CentOS 7 系统上安装 MySQL 8,遵循以下步骤:
1、下载并安装 MySQL 存储库:
wget https://repo.mysql.com/mysql80-community-release-el7-3.noarch.rpm
sudo rpm -ivh mysql80-community-release-el7-3.noarch.rpm
2、安装 MySQL 8:
sudo yum install mysql-community-server
3、启动 MySQL 服务并设置开机启动:
sudo systemctl start mysqld
sudo systemctl enable mysqld
4、检查 MySQL 服务状态:
systemctl status mysqld
5、设置 MySQL 根密码:
MySQL 8 的默认安全性更高,因此必须在第一次启动后设置根密码。您可以在 /var/log/mysqld.log 文件中查找根密码。
sudo grep 'temporary password' /var/log/mysqld.log
使用根密码登录 MySQL 并设置新的根密码:
mysql -uroot -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
如果上述步骤成功完成,就已经安装了 MySQL 8 服务器。
三、查看端口占用情况
1、lsof
lsof (list open files) 是一个列出当前系统打开文件的工具
lsof 查看端口占用:
[root@VM-0-3-centos lighthouse]# lsof -i:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 1259 root 6u IPv4 16019 0t0 TCP *:http (LISTEN)
nginx 1259 root 7u IPv6 16020 0t0 TCP *:http (LISTEN)
nginx 1263 nginx 6u IPv4 16019 0t0 TCP *:http (LISTEN)
nginx 1263 nginx 7u IPv6 16020 0t0 TCP *:http (LISTEN)
nginx 1264 nginx 6u IPv4 16019 0t0 TCP *:http (LISTEN)
nginx 1264 nginx 7u IPv6 16020 0t0 TCP *:http (LISTEN)
2、netstat
2.1、查看所有端口
netstat -ntlp
2.2、筛选某些端口
netstat -ntlp | grep 80
grep 起到筛选作用,会匹配后面的字符,如端口号、服务名和端口状态
四、防火墙设置 - 端口开放
1、查看防火墙所有开放的端口:
firewall-cmd --zone=public --list-ports
2、确保防火墙允许该端口通过。可以使用 firewall-cmd 命令来配置 CentOS 7 防火墙。例如,要允许端口 80 通过,运行以下命令:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
3、重新加载防火墙规则以使更改生效:
sudo firewall-cmd --reload
4、如果正在运行 SELinux,请确保该端口已正确标记。可以使用以下命令添加正确的SELinux策略:
sudo semanage port -a -t http_port_t -p tcp 80
5、如果使用的是 SELinux 强制模式,还需要允许 httpd 进程访问 10086 端口。运行以下命令:
sudo setsebool -P httpd_can_network_connect 1
这将启用 httpd 进程通过网络连接到其他主机。
6、最后,确保应用程序正在监听所需的端口。
这只是一般步骤,实际上可能需要根据应用程序和系统环境进行微调。
五、防火墙设置的其它命令
1、查看防火墙运行状态:
[root@abc ~]# firewall-cmd --state
2、启动防火墙:
[root@abc ~]# service firewalld start
Redirecting to /bin/systemctl start firewalld.service
六、安装 Nginx
1、添加软件源
sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2、安装 Nginx
sudo yum install -y nginx
3、启动 Nginx 并设置开机自动启动
sudo systemctl start nginx
sudo systemctl enable nginx
4、配置 Nginx
# 编辑配置文件
vi /etc/nginx/nginx.conf
vi /etc/nginx/conf.d/default.conf
# 重启
sudo systemctl restart nginx
5、常用命令
# 启动
sudo systemctl start nginx
# 关闭
sudo systemctl stop nginx
# 查看状态
sudo systemctl status nginx
# 重启
sudo systemctl restart nginx
# 设置开机自启动
sudo systemctl enable nginx
七、解决 Nginx 出现 403 forbidden(13: Permission denied) 报错的方法
这个问题通常是由于 Nginx 没有访问目标文件或目录的权限导致的。解决这个问题的方法可以分为以下几步:
1. 确定 Nginx 的运行用户。可以在 Nginx 的配置文件中找到 user
指令,该指令指定了 Nginx 运行的用户和组。
2. 确定目标文件或目录的权限。可以使用 ls -l
命令查看文件或目录的权限信息。使用 chmod
命令修改文件或目录的权限,例如chmod -R 777 directory/file
或 chmod 755 directory/file
。
3. 确定目标文件或目录的所属用户和组。可以使用 ls -l
命令查看文件或目录的所属用户和组信息。使用 chown 命令修改文件或目录的所属用户和组,例如 chown nginx:nginx directory/file
。
4. 修改 SELinux 的安全策略。如果 SELinux 启用了安全策略,可能会限制 Nginx 访问文件或目录。可以使用setsebool
命令修改安全策略,例如 setsebool -P httpd_can_network_connect 1
。
5. 禁用 SELinux:
5.1 查看当前 SELinux 的状态:/usr/sbin/sestatus
。
5.2 禁用 SELinux:编辑配置 vi /etc/selinux/config
,将 SELINUX=enforcing
修改为 SELINUX=disabled
。
5.3 重启生效:reboot
。
需要注意的是,修改文件或目录的权限和所属用户和组可能会对系统的安全性产生影响,因此在进行修改时需要谨慎。