引言
NAMP(Apache、MySQL、PHP/Python/Perl)是Linux系统中常见的Web开发环境组合。本文将深入探讨如何在CentOS系统下搭建NAMP环境,从入门到精通,并介绍安全配置与优化技巧。
一、环境搭建
1.1 安装Apache
- 安装Apache:
sudo yum install httpd
- 启动Apache服务:
sudo systemctl start httpd
sudo systemctl enable httpd
- 测试Apache是否运行:
1.2 安装MySQL
- 安装MySQL:
sudo yum install mysql-community-server
- 启动MySQL服务:
sudo systemctl start mysqld
sudo systemctl enable mysqld
- 设置root密码:
sudo mysql_secure_installation
1.3 安装PHP
- 安装PHP:
sudo yum install php php-mysql
- 配置PHP:
编辑 /etc/php.ini
文件,修改以下配置:
; date.timezone =Asia/Shanghai
- 重启Apache服务:
sudo systemctl restart httpd
二、NAMP环境配置
2.1 配置Apache虚拟主机
- 创建虚拟主机配置文件:
sudo vi /etc/httpd/conf.d/vhost.conf
- 添加以下内容:
<VirtualHost *:80>
ServerAdmin admin@example.com
ServerName example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
- 重启Apache服务:
sudo systemctl restart httpd
2.2 配置MySQL数据库
- 创建数据库和用户:
mysql -u root -p
CREATE DATABASE exampledb;
CREATE USER 'exampleuser'@'localhost' IDENTIFIED BY 'examplepass';
GRANT ALL PRIVILEGES ON exampledb.* TO 'exampleuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
2.3 配置PHP-FPM
- 安装PHP-FPM:
sudo yum install php-fpm
- 编辑
/etc/php-fpm.conf
文件:
; pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 35
- 重启PHP-FPM服务:
sudo systemctl restart php-fpm
sudo systemctl enable php-fpm
三、安全配置与优化
3.1 IP访问
- 编辑Apache配置文件:
sudo vi /etc/httpd/conf.d/vhost.conf
- 添加以下内容:
<Directory "/var/www/html">
Order Allow,Deny
Allow from all
Deny from 192.168.1.100
</Directory>
3.2 配置SSL证书
- 获取SSL证书:
sudo yum install mod_ssl
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/httpd/ssl/private/localhost.key -out /etc/httpd/ssl/certs/localhost.crt
- 配置Apache使用SSL证书:
<VirtualHost *:443>
ServerAdmin admin@example.com
ServerName example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
SSLEngine on
SSLCertificateFile /etc/httpd/ssl/certs/localhost.crt
SSLCertificateKeyFile /etc/httpd/ssl/private/localhost.key
SSLCertificateChainFile /etc/httpd/ssl/certs/ca-bundle.crt
</VirtualHost>
- 重启Apache服务:
sudo systemctl restart httpd
3.3 优化MySQL性能
- 编辑
/etc/my.cnf
文件:
[mysqld]
max_connections = 100
innodb_buffer_pool_size = 256M
innodb_log_file_size = 128M
- 重启MySQL服务:
sudo systemctl restart mysqld
四、总结
本文详细介绍了在CentOS系统下搭建NAMP环境的实战攻略,包括环境搭建、配置、安全配置与优化等。通过本文的学习,读者可以快速掌握NAMP环境搭建与优化技巧,为后续的Web开发打下坚实基础。