配置LNMP(Linux, Nginx, MySQL, PHP)中的Nginx服务器涉及几个步骤。以下是一个基本的配置指南:
首先,确保你的系统是最新的,然后安装Nginx:
sudo apt-get update
sudo apt-get install nginx
安装完成后,启动Nginx服务并设置开机自启动:
sudo systemctl start nginx
sudo systemctl enable nginx
Nginx的主要配置文件位于 /etc/nginx/nginx.conf
。你可以使用任何文本编辑器打开它,例如 vim
或 nano
。
一个基本的Nginx配置示例如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen 80;
server_name localhost;
location / {
root /var/www/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
}
这个配置文件定义了一个监听80端口的服务器,它的域名是 localhost
。所有请求都被映射到 /var/www/html
目录下的文件。
为了添加一个新的虚拟主机,你需要创建一个新的配置文件。例如,创建一个名为 example.com
的虚拟主机配置文件:
sudo nano /etc/nginx/sites-available/example.com
将以下内容粘贴到文件中:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
保存并退出编辑器。
然后,创建一个符号链接将这个配置文件链接到 sites-enabled
目录:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
最后,测试Nginx配置文件的语法是否正确:
sudo nginx -t
如果没有错误,重新加载Nginx配置:
sudo systemctl reload nginx
确保PHP-FPM正在运行。你可以使用以下命令启动它:
sudo systemctl start php8.2-fpm
sudo systemctl enable php8.2-fpm
在Nginx配置文件中,我们已经包含了处理PHP文件的 location ~ \.php$
块。
安装并配置MySQL数据库。你可以使用以下命令安装MySQL:
sudo apt-get install mysql-server
在安装过程中,系统会提示你设置MySQL的root密码。
安装完成后,登录到MySQL并创建一个新的数据库和用户:
sudo mysql -u root -p
在MySQL命令行中,运行以下命令:
CREATE DATABASE example_db;
CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'example_password';
GRANT ALL PRIVILEGES ON example_db.* TO 'example_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
现在,你应该能够通过 http://example.com
访问你的网站。如果一切配置正确,你将看到Nginx的默认欢迎页面或你放置在 /var/www/example.com
目录下的文件。