在Debian系统上设置LNMP(Linux, Nginx, MySQL, PHP)虚拟主机的步骤如下:
- 安装Nginx、MySQL和PHP:
sudo apt update sudo apt install nginx mysql-server php-fpm php-mysql
- 配置MySQL:
运行mysql_secure_installation
命令来设置MySQL的安全选项。
- 创建数据库和用户:
登录到MySQL控制台:
sudo mysql
创建一个新数据库和用户,并授权:
CREATE DATABASE your_database_name; CREATE USER 'your_user'@'localhost' IDENTIFIED BY 'your_password'; GRANT ALL PRIVILEGES ON your_database_name.* TO 'your_user'@'localhost'; FLUSH PRIVILEGES; EXIT;
- 配置PHP:
编辑/etc/php/7.x/fpm/pool.d/www.conf
文件,找到listen
行,将其更改为:
listen = /run/php/php7.x-fpm.sock
将7.x
替换为您安装的PHP版本。
- 重启PHP-FPM服务:
sudo systemctl restart php7.x-fpm
将7.x
替换为您安装的PHP版本。
- 配置Nginx虚拟主机:
创建一个新的Nginx配置文件:
sudo nano /etc/nginx/sites-available/your_domain.conf
将your_domain.conf
替换为您的域名。
在新文件中添加以下内容:
server { listen 80; server_name your_domain.com www.your_domain.com; root /var/www/your_domain; index index.php index.html index.htm; location / { try_files $uri $uri/ =404; } location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php7.x-fpm.sock; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location ~ /\.ht { deny all; } }
将your_domain.com
替换为您的域名,将/var/www/your_domain
替换为您的网站文件目录。
保存并关闭文件。
- 创建网站文件目录:
sudo mkdir -p /var/www/your_domain
将your_domain
替换为您的域名。
- 创建一个简单的PHP文件以测试配置:
echo "" | sudo tee /var/www/your_domain/index.php
- 启用虚拟主机:
创建一个到sites-enabled
目录的符号链接:
sudo ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
- 检查Nginx配置文件的语法:
sudo nginx -t
如果一切正常,您将看到以下输出:
nginx: configuration file /etc/nginx/nginx.conf test is successful
- 重启Nginx服务:
sudo systemctl restart nginx
- 更新hosts文件(可选):
如果您还没有将域名解析到服务器的IP地址,可以在/etc/hosts
文件中添加以下行:
127.0.0.1 your_domain.com www.your_domain.com
将your_domain.com
替换为您的域名。
现在,您应该可以通过在浏览器中输入您的域名来访问您的网站了。