使用shell脚本一键部署LNMP架构的方法需要以下几个步骤:
1. 安装必要的软件
在使用shell脚本部署LNMP之前,需要安装以下软件:
- Git:用于从Github上下载LNMP的脚本文件;
- Nginx:用于提供HTTP服务并负责反向代理PHP-FPM;
- MySQL:用于存储数据;
- PHP:用于解析PHP代码;
- PHP-FPM:用于处理PHP代码。
以Ubuntu系统为例,安装命令如下:
sudo apt-get update
sudo apt-get install git nginx mysql-server php php-fpm
2. 下载LNMP的脚本文件
从Github上下载LNMP的脚本文件,并存放在一个路径下(如/home/lamp):
mkdir /home/lamp
cd /home/lamp
git clone https://github.com/licess/lnmp.git
3. 编辑配置文件
进入LNMP的目录,编辑配置文件:
cd /home/lamp/lnmp
cp config.conf.example config.conf
nano config.conf
根据自己的需求修改配置文件中的参数,比如MySQL的用户名和密码等。
4. 执行脚本
执行LNMP脚本即可一键部署LNMP架构:
cd /home/lamp/lnmp
./install.sh
过程中,LNMP脚本会自动下载最新版本的Nginx、MySQL和PHP,并安装配置它们。一般情况下,该过程不会花费太长时间。
5. 测试
确认LNMP架构已经部署成功后,可以测试Nginx是否正常工作,比如curl一个网页:
curl http://localhost/index.php
返回的内容应该是可以正常显示的网页内容。
示例
以下是两个使用LNMP脚本部署系统的实际场景示例:
示例1:在测试服务器上部署LNMP
在测试服务器上,安装好了Ubuntu系统,并已经配置好了SSH。
- 安装必要软件:
sudo apt-get update
sudo apt-get install git nginx mysql-server php php-fpm
- 下载LNMP的脚本文件:
mkdir /home/lamp
cd /home/lamp
git clone https://github.com/licess/lnmp.git
- 编辑配置文件:
cd /home/lamp/lnmp
cp config.conf.example config.conf
nano config.conf
用nano编辑器打开config.conf后,将MySQL的用户名和密码改为自己所需的值。
- 执行脚本:
cd /home/lamp/lnmp
./install.sh
安装时间大约为10分钟。
- 测试:
curl http://localhost/index.php
应该返回正常的网页内容。
示例2:在生产环境服务器上部署LNMP
在生产环境服务器上,需要进行更加细致的配置,保证安全性、减少风险。
- 禁用不必要的服务:
在Ubuntu系统上,可以通过以下命令禁用不必要的服务:
sudo service cups stop
sudo service apache2 stop
sudo service avahi-daemon stop
- 配置防火墙:
Ubuntu系统自带的防火墙是ufw,可以通过以下命令进行配置:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
这些命令将禁止所有入站连接,开放所有出站连接,允许SSH连接,允许HTTP和HTTPS连接。
- 安装LNMP:
按照示例1中的步骤进行。
- 设定日志输出:
在生产环境中,需要将PHP-FPM和Nginx的日志输出到独立的文件中,方便排查问题。在ubuntu上,可以在php-fpm.conf文件中添加以下配置:
catch_workers_output = yes
error_log = /var/log/php-fpm.log
在nginx.conf文件中增加以下内容:
error_log /var/log/nginx/error.log crit;
access_log /var/log/nginx/access.log;
- 配置HTTPS:
在生产环境中,通常需要使用HTTPS协议提供加密连接。可以使用Let's Encrypt证书来配置HTTPS,具体方法可以参考 https://letsencrypt.org/docs/。
- 部署应用程序:
将代码和相关文件上传到服务器的指定目录下。可以将Nginx配置文件中的server_name和root路径改为实际应用程序的域名和路径。
- 测试:
在浏览器中输入实际应用程序的域名,应该可以正常访问。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:使用shell脚本一键部署LNMP架构的方法 - Python技术站