|
以下是一个在 CentOS 7.6 上搭建 LNMP (linux, Nginx, MySQL, php) 环境的完整教程。
一、准备工作
确保你的系统是最新的,执行以下命令来更新软件包:
二、安装 Nginx
1. 添加 Nginx 源:
- sudo yum install -y epel-release
- sudo yum install -y nginx
复制代码
2. 启动 Nginx 并设置为开机自启:
- sudo systemctl start nginx
- sudo systemctl enable nginx
复制代码
3. 验证 Nginx 是否安装成功:
打开浏览器访问服务器 IP 地址,如果看到 Nginx 欢迎页面,说明 Nginx 已经安装成功。
三、安装 MySQL
1. 下载并添加 MySQL 存储库:
- wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
- sudo rpm -ivh mysql57-community-release-el7-11.noarch.rpm
复制代码
2. 安装 MySQL:
- sudo yum install -y mysql-server
复制代码
3. 启动 MySQL 并设置为开机自启:
- sudo systemctl start mysqld
- sudo systemctl enable mysqld
复制代码
4. 获取临时 root 密码:
- sudo grep 'temporary password' /var/log/mysqld.log
复制代码
5. 运行安全配置脚本并按提示操作:
- sudo mysql_secure_installation
复制代码
- 使用获取的临时密码登录。
- 按提示设置新的 root 密码。
- 其他安全设置根据需求选择。
四、安装 PHP
1. 安装 PHP 和必要的扩展:
- sudo yum install -y epel-release
- sudo yum install -y http://rpms.remirepo.net/enterprise/remi-release-7.rpm
- sudo yum install -y yum-utils
- sudo yum-config-manager --enable remi-php74
- sudo yum install -y php php-fpm php-mysql php-cli php-mbstring php-xml php-json
复制代码
2. 配置 PHP-FPM:
- sudo sed -i 's/;cgi.fix_pathinfo=1/cgi.fix_pathinfo=0/' /etc/php.ini
- sudo sed -i 's/user = apache/user = nginx/' /etc/php-fpm.d/www.conf
- sudo sed -i 's/group = apache/group = nginx/' /etc/php-fpm.d/www.conf
- sudo sed -i 's/;listen.owner = nobody/listen.owner = nginx/' /etc/php-fpm.d/www.conf
- sudo sed -i 's/;listen.group = nobody/listen.group = nginx/' /etc/php-fpm.d/www.conf
复制代码
3. 启动 PHP-FPM 并设置为开机自启:
- sudo systemctl start php-fpm
- sudo systemctl enable php-fpm
复制代码
五、配置 Nginx 以支持 PHP
1. 创建 Nginx 站点配置文件:
- sudo vim /etc/nginx/conf.d/default.conf
复制代码
2. 在文件中添加以下配置:nginx
- server {
- listen 80;
- server_name your_domain_or_ip;
- root /usr/share/nginx/html;
- index index.php index.html index.htm;
- location / {
- try_files $uri $uri/ =404;
- }
- location ~ \.php$ {
- try_files $uri =404;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_index index.php;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- include fastcgi_params;
- }
- location ~ /\.ht {
- deny all;
- }
- }
复制代码
- 将 `your_domain_or_ip` 替换为你的域名或服务器 IP 地址。
3. 检查 Nginx 配置文件语法:
4. 重启 Nginx 使配置生效:
- sudo systemctl restart nginx
复制代码
六、测试 PHP
1. 创建一个 PHP 测试文件:
- sudo vim /usr/share/nginx/html/info.php
复制代码
2. 在文件中添加以下内容:
php
3. 打开浏览器访问 `http://your_domain_or_ip/info.php`,如果看到 PHP 信息页面,说明 PHP 已经正确安装并配置。
七、配置防火墙
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
复制代码
八、完成
到此,LNMP 环境已经成功搭建。你现在可以在 `/usr/share/nginx/html` 目录下放置你的 PHP 应用。
额外建议
1. **安全性**:
- 确保 MySQL 的 root 密码足够复杂。
- 定期更新系统和软件包。
- 配置 Nginx 的 SSL/TLS 以提高传输安全性。
2. **性能优化**:
- 配置缓存(例如:Redis,Memcached)。
- 使用 CDN 服务来加速内容分发。
- 优化数据库查询和索引。
希望这篇教程对你有所帮助,如果有任何问题,请随时提问! |
|