在CentOS系统中配置LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境时,权限设置是一个重要的安全环节。以下是一些基本的权限设置步骤:
nginx
用户和组来运行Nginx进程。sudo useradd -r -s /sbin/nologin nginx
mysql
用户和组来运行数据库服务。sudo useradd -r -s /sbin/nologin mysql
sudo chown -R nginx:nginx /var/www/html
sudo chmod -R 755 /var/www/html
/var/lib/mysql
目录下。sudo chown -R mysql:mysql /var/lib/mysql
sudo chmod -R 750 /var/lib/mysql
CentOS默认启用SELinux,需要进行一些配置以确保LNMP正常运行。
sudo setenforce 0
/etc/selinux/config
文件):SELINUX=disabled
sudo setsebool -P httpd_can_network_connect_db 1
确保防火墙允许HTTP和HTTPS流量。
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
编辑Nginx配置文件(通常位于/etc/nginx/nginx.conf
或/etc/nginx/conf.d/default.conf
),确保以下几点:
nginx
块中设置用户。user nginx;
location / {
root /var/www/html;
index index.html index.htm;
}
编辑MySQL/MariaDB配置文件(通常位于/etc/my.cnf
或/etc/mysql/my.cnf
),确保以下几点:
bind-address = 0.0.0.0
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
定期检查系统日志和应用程序日志,确保没有异常访问或错误。同时,保持系统和软件包的最新状态,以修复安全漏洞。
通过以上步骤,你可以设置一个基本的LNMP环境权限配置,确保系统的安全性和稳定性。