LNMP实战宝典
  • Introduction
  • 准备知识
    • 关于本书
    • 关于LNMP
    • 获取一键安装包
      • 表:镜像组成一览
      • 附:常用账号与密码说明
  • 基本技能单元
    • 学习要点
    • Linux云服务器操作
      • 登录与文件管理(SFTP)
      • 挂载数据盘
      • 安全组设置
      • 快照备份
    • Linux操作系统基础
    • Nginx基础
    • PHP基础
    • MySQL操作
    • 9Panel介绍
    • 必备实操
      • 如何修改Linux文件权限?
      • 如何实现服务启停?
      • 如何安装PHP扩展?
    • 附:常见命令(Linux)
  • 实战方案
    • 如何使用LNMP发布网站或应用?
    • 如何设置SSL/HTTPS?
    • 如何设置伪静态?
    • 如何实现网站迁移?
    • 如何将数据转移到数据盘?
    • 如何设置SMTP?
    • 如何分配多个SFTP账号?
    • 如何重置数据库root密码?
    • 域名配置
      • 域名解析
      • 修改域名配置文件
    • 安全防护
      • 补丁更新
      • 木马查杀
      • 安全组件
    • 日常维护
      • 备份与恢复
      • 升级
      • 网站加速
    • 故障处理
      • 502错误
      • 网站打不开
      • 网站访问慢或不稳定
      • 服务无法启动
      • 数据库连不上
      • 资源占用高
  • 参考资源
    • 常见应用安装示例(集)
      • Concrete5
        • Concrete5自定义安装
        • Concrete5常见问题
      • CmsEasy
        • CmsEasy自定义安装
        • CmsEasy常见问题
      • DokuWiki
        • DokuWiki自定义安装
      • dedeCMS(织梦)
        • dedeCMS自定义安装
      • HDwiki
        • HDwiki自定义安装
        • HDwiki常见问题
      • EmpireCMS(帝国)
        • EmpireCMS自定义安装
        • EmpireCMS常见问题
      • Lcm(里程密)
        • Lcm(里程密)自定义安装
      • MyBB
        • MyBB自定义安装
      • Osclass
        • Osclass自定义安装
      • ProcessWire
        • ProcessWire自定义安装
      • PmWiki
        • PmWiki自定义安装
      • PHPWind
        • PHPWind自定义安装
      • Typecho
        • Typecho自定义安装
        • Typecho常见问题
      • WeCenter
        • WeCenter自定义安装
      • Weengine(微擎)
        • Weengine自定义安装
      • ZBlog
        • ZBlog自定义安装
    • 链接
    • 配套视频教程
    • 后记
Powered by GitBook
On this page
  • 场景一:服务器只安装一个网站
  • 场景二:服务器部署多个网站(无域名)
  • 场景三:服务器部署多个网站(共用一个域名)
  • 场景四:服务器部署多个网站(多个域名)
  1. 实战方案

如何使用LNMP发布网站或应用?

Previous附:常见命令(Linux)Next如何设置SSL/HTTPS?

Last updated 7 years ago

LNMP新增网站非常容易,在新增网站之前请提前考虑如下三个可能的选项:

  • PHP版本选择

  • 安装一个网站or安装多个网站

  • 是否需要配置域名(国内网站没有备案的域名无法使用)

场景一:服务器只安装一个网站

当前镜像的网站默认目录是/data/wwwroot/default,如果您打算此服务器上只部署一个网站或应用,建议采用此方式:

  1. 通过SFTP工具,将网站源文件上传到此目录/data/wwwroot/default

  2. 修改default文件夹的权限和用户组(参考:如何修改Linux文件系统的权限?)

  3. 如果没有可用域名,请直接通过 的方式来访问应用

  4. 如果有可用的域名,请完成《域名配置》后通过 的方式来访问应用

场景二:服务器部署多个网站(无域名)

无域名情况下,以部署两个网站为例,具体操作如下:

  1. 通过SFTP将第一个网站目录上传到/data/wwwroot/default/目录下面,假设应用程序目录命为“mysite1”

  2. 通过Putty工具修改用户权限,运行如下一条命令即可:

    ~# chown -R nginx.nginx /data/wwwroot/default/mysite1
  3. 给mysite1增加一个别名配置文件:通过SFTP打开 /etc/nginx/conf.d/ext/目录,在此目录下新增一个conf文件,假设名称为site1.conf,将下面内容拷贝到文件中,根据你的实际情况进行修改、保存。

    location /9panel {
        alias /data/wwwroot/default/mysite1;
        index index.php index.html;
        location ~ ^/9panel/.+\.php$ {
            alias /data/wwwroot/9panel;
            fastcgi_pass  unix:/dev/shm/php-fpm-default.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /data/wwwroot/$fastcgi_script_name;
            include        fastcgi_params;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
        {
            expires      30d;
        }
        location ~ .*\.(js|css)$
        {
            expires      12h;
        }
        location ~* /templates(/.*)\.(bak|html|htm|ini|old|php|tpl)$ {
            allow 127.0.0.1;
            deny all;
        }
        location ~* \.(ftpquota|htaccess|htpasswd|asp|aspx|jsp|asa|mdb)?$ {
            deny all;
        }
    }
  4. 通过Putty工具重启http服务

    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart nginx
    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart php-fpm
  5. 通过 的方式来访问应用,即可进入安装向导

  6. 如果在安装向导过程中提示数据库无法自动创建,需要通过 创建数据库

安装第二个网站,操作步骤同样

场景三:服务器部署多个网站(共用一个域名)

共用一个域名情况下,以第一个网站为例,具体操作如下:

  1. 通过SFTP将第一个网站目录上传到/data/wwwroot/default/目录下面,假设应用程序目录命为“mysite1”

  2. 通过Putty工具修改用户权限,运行如下一条命令即可:

    ~# chown -R nginx.nginx /data/wwwroot/default/mysite1
  3. 给mysite1增加一个别名配置文件:通过SFTP打开 /etc/nginx/conf.d/ext/目录,在此目录下新增一个conf文件,假设名称为site1.conf,将下面内容拷贝到文件中,根据你的实际情况进行修改、保存。

    location /9panel {
        alias /data/wwwroot/default/mysite1;
        index index.php index.html;
        location ~ ^/9panel/.+\.php$ {
            alias /data/wwwroot/9panel;
            fastcgi_pass  unix:/dev/shm/php-fpm-default.sock;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME /data/wwwroot/$fastcgi_script_name;
            include        fastcgi_params;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
        {
            expires      30d;
        }
        location ~ .*\.(js|css)$
        {
            expires      12h;
        }
        location ~* /templates(/.*)\.(bak|html|htm|ini|old|php|tpl)$ {
            allow 127.0.0.1;
            deny all;
        }
        location ~* \.(ftpquota|htaccess|htpasswd|asp|aspx|jsp|asa|mdb)?$ {
            deny all;
        }
    }
  4. 通过Putty工具重启http服务

    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart nginx
    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart php-fpm

安装第二个网站,操作步骤同样

场景四:服务器部署多个网站(多个域名)

多个域名情况下,以部署其中一个网站为例,具体操作如下:

  1. 通过SFTP将第一个网站目录上传到/data/wwwroot/default/目录下面,假设应用程序目录命为“mysite1”

  2. 通过Putty工具修改用户权限,运行如下一条命令即可:

    ~# chown -R nginx.nginx /data/wwwroot/default/mysite1
  3. 给mysite1增加一个域名配置文件:通过SFTP打开 /etc/nginx/conf.d目录,在此目录下新增一个conf文件,假设名称为site1domain.conf,将下面内容拷贝到文件中,根据你的实际情况进行修改、保存。

    server
    {
        listen 80; 
        server_name site1domain.com www.site1domain.com; 
        index index.html index.htm index.php; 
        charset utf-8; 
        root  /data/wwwroot/default/mysite1; 
    
        access_log /var/log/nginx/default-access.log main;
        error_log /var/log/nginx/default-error.log crit;
    
        location ~ .*\.php$
        {
            fastcgi_pass  unix:/dev/shm/php-fpm-default.sock; 
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME  /data/wwwroot/default$fastcgi_script_name; 
            include fastcgi_params;
            try_files $uri = 404;
        }
    
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp3|wma)$
        {
            expires      30d;
        }
    
        location ~ .*\.(js|css)$
        {
            expires      12h;
        }
    
        location ~* /templates(/.*)\.(bak|html|htm|ini|old|php|tpl)$ {
            allow 127.0.0.1;
            deny all;
        }
    
        location ~* \.(ftpquota|htaccess|htpasswd|asp|aspx|jsp|asa|mdb)?$ {
            deny all;
        }
         include /etc/nginx/conf.d/ext/*;
    }
  4. 通过Putty工具重启http服务

    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart nginx
    [root@iZm5ejevtfomfw3dfdf6jmr078Z ~]# systemctl restart php-fpm

安装第二个网站,操作步骤同样

将域名解析到服务器IP地址,确保

通过 的方式来访问应用,即可进入安装向导

如果在安装向导过程中提示数据库无法自动创建,需要通过 创建数据库

将域名解析到服务器IP地址,确保

通过 的方式来访问应用,即可进入安装向导

如果在安装向导过程中提示数据库无法自动创建,需要通过 创建数据库

http://公网ip
http://域名
http://ip/mysite1
http://ip/phpmyadmin
http://域名/能够访问服务器引导页面
http://域名/mysite1
http://ip/phpmyadmin
http://域名/能够访问服务器引导页面
http://域名/mysite1
http://ip/phpmyadmin