下面是 LNMP 部署及 HTTPS 服务开启教程的完整攻略。
一、环境准备
- 操作系统:Ubuntu 18.04 LTS
- 网络环境:已连接互联网
二、安装Nginx
- 更新 apt-get 包管理器:
sudo apt-get update
- 安装 Nginx:
sudo apt-get install nginx
- 验证 Nginx 是否安装成功:在浏览器访问服务器 IP 地址即可(如:http://111.222.333.444)
三、安装MySQL
- 安装 MySQL:
sudo apt-get install mysql-server
- 打开 MySQL 安全选项:
sudo mysql_secure_installation
- 按照提示设置 MySQL 的 root 用户密码
四、安装PHP
- 安装 PHP:
sudo apt-get install php-fpm php-mysql
- 修改 PHP 配置文件:
sudo nano /etc/php/7.2/fpm/php.ini
- 找到
;cgi.fix_pathinfo=1
,将其改为cgi.fix_pathinfo=0
- 找到
- 重启 PHP:
sudo systemctl restart php7.2-fpm
五、配置Nginx
- 创建一个新的配置文件:
sudo nano /etc/nginx/sites-available/example.com
- 将以下内容复制到配置文件中,替换 example.com 为你的真实域名或 IP:
server {
listen 80;
listen [::]:80;
root /var/www/example.com;
index index.html index.htm index.php;
server_name example.com www.example.com;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
}
}
- 建立软链:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
- 检查Nginx配置文件是否合法:
sudo nginx -t
- 如果没有报错,则重新加载Nginx服务:
sudo systemctl reload nginx
六、开启HTTPS服务
- 安装Certbot:
sudo add-apt-repository ppa:certbot/certbot && sudo apt-get update && sudo apt-get install certbot
- 运行Certbot:
sudo certbot --nginx -d example.com -d www.example.com
- 根据提示选择是否希望自动重定向 HTTP 流量到 HTTPS
之后,你的网站就已经成功启用HTTPS服务了。
示例1:部署WordPress
- 下载并安装 WordPress:
cd /var/www && wget https://wordpress.org/latest.tar.gz && tar -xzvf latest.tar.gz && rm latest.tar.gz
- 将
/var/www/wordpress
转移到/var/www/example.com
,并修改 WordPress 配置文件:sudo mv /var/www/wordpress/* /var/www/example.com/ && sudo chown -R www-data:www-data /var/www/example.com && sudo mv /var/www/example.com/wp-config-sample.php /var/www/example.com/wp-config.php
- 打开
/var/www/example.com/wp-config.php
修改数据库信息,例如:
define('DB_NAME', 'wordpressdb');
define('DB_USER', 'wordpressuser');
define('DB_PASSWORD', 'password');
define('DB_HOST', 'localhost');
define('DB_CHARSET', 'utf8');
define('DB_COLLATE', '');
- 重新加载 Nginx:
sudo systemctl reload nginx
示例2:部署Drupal
- 下载并安装Drupal:
cd /var/www && wget https://ftp.drupal.org/files/projects/drupal-8.8.5.tar.gz && tar -xzvf drupal-8.8.5.tar.gz && rm drupal-8.8.5.tar.gz && sudo mv drupal-8.8.5/* example.com/ && sudo chown -R www-data:www-data /var/www/example.com
- 运行Drupal安装脚本:访问
https://example.com/core/install.php
,按照提示进行安装 - 修改 Nginx 配置文件:
sudo nano /etc/nginx/sites-available/example.com
- 添加以下内容来处理Drupal的URL重写:
location / {
try_files $uri /index.php?$query_string;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
fastcgi_param SCRIPT_FILENAME /var/www/example.com/$fastcgi_script_name;
include fastcgi_params;
}
- 重新加载Nginx:
sudo systemctl reload nginx
以上就是 LNMP 部署及 HTTPS 服务开启教程的完整攻略,希望对你有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:LNMP部署及HTTPS服务开启教程 - Python技术站