LNMP部署

LNMP指的是Linux+Nginx+MySQL+PHP,是一种常见的Web服务器环境。下面是详细的LNMP部署步骤:

  1. 安装Linux操作系统:选择合适的Linux发行版,如CentOS、Ubuntu等,安装到服务器上。

  2. 安装Nginx:使用包管理器安装Nginx,如在CentOS上使用yum命令,Ubuntu上使用apt-get命令。

    • 在CentOS上安装Nginx:

      yum install epel-release
      yum install nginx
    • 在Ubuntu上安装Nginx:

      apt-get update
      apt-get install nginx
  3. 配置Nginx:编辑Nginx的配置文件,一般位于/etc/nginx/nginx.conf,根据需要进行修改。常见的修改包括监听端口、网站配置等。

  4. 启动Nginx:启动Nginx服务,并设置开机自启动。

    • 在CentOS上启动Nginx:

      systemctl start nginx
      systemctl enable nginx
    • 在Ubuntu上启动Nginx:

      service nginx start
      update-rc.d nginx defaults
  5. 安装MySQL:使用包管理器安装MySQL数据库,如在CentOS上使用yum命令,Ubuntu上使用apt-get命令。

    • 在CentOS上安装MySQL:

      yum install mariadb-server
      systemctl start mariadb
      systemctl enable mariadb
    • 在Ubuntu上安装MySQL:

      apt-get install mysql-server
      service mysql start
      update-rc.d mysql defaults
  6. 配置MySQL:执行安全配置脚本,并进行一些必要的配置。

    • 在CentOS上配置MySQL:

      mysql_secure_installation
    • 在Ubuntu上配置MySQL:

      mysql_secure_installation
  7. 安装PHP:使用包管理器安装PHP和相关扩展。

    • 在CentOS上安装PHP:

      yum install php php-fpm php-mysql
    • 在Ubuntu上安装PHP:

      apt-get install php php-fpm php-mysql
  8. 配置PHP:编辑PHP-FPM的配置文件,一般位于/etc/php-fpm.d/www.conf,根据需要进行修改。常见的修改包括监听地址、用户组等。

  9. 启动PHP-FPM:启动PHP-FPM服务,并设置开机自启动。

    • 在CentOS上启动PHP-FPM:

      systemctl start php-fpm
      systemctl enable php-fpm
    • 在Ubuntu上启动PHP-FPM:

      service php-fpm start
      update-rc.d php-fpm defaults
  10. 测试LNMP环境:创建一个简单的PHP文件,如info.php,将以下内容保存到该文件中:

    <?php
    phpinfo();
    ?>

    将该文件放到Nginx默认的网站根目录中,一般位于/usr/share/nginx/html

  11. 访问测试页面:使用浏览器访问服务器的IP地址或域名,加上该测试页面的URL地址,如http://IP地址/info.php,可以查看到PHP的详细信息,表示LNMP环境已经部署成功。

以上是一个简单的LNMP部署过程,根据实际需求,可能还需要进行一些其他的配置和优化,比如防火墙配置、Nginx虚拟主机配置等。

  • 17
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Ansible角色是Ansible中的一种组织方式,它是一组任务、变量、文件和模板的集合,用于实现某个特定功能。在这个问题中,我们可以使用Ansible角色来部署LNMPLinuxNginxMySQLPHP)堆栈。 以下是一个简单的LNMP Ansible角色部署示例: 1. 创建一个名为“lnmp”的Ansible角色目录: ``` mkdir roles/lnmp ``` 2. 在lnmp目录中创建一个tasks目录: ``` mkdir roles/lnmp/tasks ``` 3. 在tasks目录中创建一个main.yml文件,其中包含以下任务: ``` - name: Install Nginx yum: name: nginx state: present - name: Start Nginx service service: name: nginx state: started - name: Install MySQL yum: name: mysql-server state: present - name: Start MySQL service service: name: mysqld state: started - name: Install PHP yum: name: php state: present - name: Install PHP-FPM yum: name: php-fpm state: present - name: Start PHP-FPM service service: name: php-fpm state: started ``` 这些任务将安装和启动NginxMySQLPHP-FPM服务。 4. 在lnmp目录中创建一个vars目录: ``` mkdir roles/lnmp/vars ``` 5. 在vars目录中创建一个main.yml文件,其中包含以下变量: ``` --- nginx_conf_file: /etc/nginx/nginx.conf mysql_root_password: mysecretpassword php_conf_dir: /etc/php.d/ ``` 这些变量将用于配置NginxMySQLPHP的设置。 6. 在lnmp目录中创建一个templates目录: ``` mkdir roles/lnmp/templates ``` 7. 在templates目录中创建一个nginx.conf.j2模板文件: ``` worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; server { listen 80; server_name localhost; location / { root /var/www/html; index index.php index.html index.htm; } location ~ \.php$ { root /var/www/html; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } } } ``` 这个模板将用于生成Nginx的配置文件。 8. 在tasks目录中创建一个configure.yml文件,其中包括以下任务: ``` - name: Copy Nginx configuration file template: src: nginx.conf.j2 dest: "{{ nginx_conf_file }}" mode: '0644' - name: Set MySQL root password mysql_user: name: root password: "{{ mysql_root_password }}" login_unix_socket: /var/lib/mysql/mysql.sock - name: Copy PHP configuration file copy: src: php.ini dest: "{{ php_conf_dir }}" mode: '0644' ``` 这些任务将生成Nginx配置文件、设置MySQL root密码和复制PHP配置文件。 9. 在lnmp目录中创建一个files目录: ``` mkdir roles/lnmp/files ``` 10. 在files目录中创建php.ini文件: ``` memory_limit = 128M upload_max_filesize = 64M post_max_size = 64M ``` 这个文件将被复制到PHP配置目录中。 11. 在lnmp目录中创建一个meta目录: ``` mkdir roles/lnmp/meta ``` 12. 在meta目录中创建一个main.yml文件,其中包含以下元数据: ``` --- dependencies: - { role: geerlingguy.repo-epel } - { role: geerlingguy.mysql } ``` 这些元数据将指定依赖项,以便安装EPEL存储库和MySQL角色。 13. 在playbook中使用lnmp角色: ``` - hosts: webserver become: true roles: - lnmp ``` 这个playbook将在webserver主机上使用lnmp角色。 这就是一个简单的LNMP Ansible角色部署示例。当然,还有很多其他的配置选项和任务可以添加到这个角色中,以满足不同的需求。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值