zoukankan      html  css  js  c++  java
  • Ubuntu 下安装LEMP环境 实战

    ---恢复内容开始---

    1.nginx的服务端的安装

    打开命令行终端,在终端输入,sudo apt-get install nginx  回车即开始安装

    kxlc-t@ubuntu:~$ sudo apt-get install nginx
    [sudo] kxlc-t 的密码: 
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    将会同时安装下列软件:
      nginx-common nginx-core
    建议安装:
      fcgiwrap nginx-doc
    下列【新】软件包将被安装:
      nginx nginx-common nginx-core
    升级了 0 个软件包,新安装了 3 个软件包,要卸载 0 个软件包,有 201 个软件包未被升级。
    需要下载 458 kB 的归档。
    解压缩后会消耗 1,482 kB 的额外空间。
    您希望继续执行吗? [Y/n] y
    获取:1 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx-common all 1.10.3-0ubuntu0.16.04.2 [26.6 kB]
    获取:2 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx-core amd64 1.10.3-0ubuntu0.16.04.2 [428 kB]
    获取:3 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx all 1.10.3-0ubuntu0.16.04.2 [3,490 B]
    已下载 458 kB,耗时 3秒 (147 kB/s)
    正在预设定软件包 ...
    正在选中未选择的软件包 nginx-common。
    (正在读取数据库 ... 系统当前共安装有 258856 个文件和目录。)
    正准备解包 .../nginx-common_1.10.3-0ubuntu0.16.04.2_all.deb  ...
    正在解包 nginx-common (1.10.3-0ubuntu0.16.04.2) ...
    正在选中未选择的软件包 nginx-core。
    正准备解包 .../nginx-core_1.10.3-0ubuntu0.16.04.2_amd64.deb  ...
    正在解包 nginx-core (1.10.3-0ubuntu0.16.04.2) ...
    正在选中未选择的软件包 nginx。
    正准备解包 .../nginx_1.10.3-0ubuntu0.16.04.2_all.deb  ...
    正在解包 nginx (1.10.3-0ubuntu0.16.04.2) ...
    正在处理用于 ureadahead (0.100.0-19) 的触发器 ...
    正在处理用于 ufw (0.35-0ubuntu2) 的触发器 ...
    正在处理用于 systemd (229-4ubuntu21.1) 的触发器 ...
    正在设置 nginx-common (1.10.3-0ubuntu0.16.04.2) ...
    正在设置 nginx-core (1.10.3-0ubuntu0.16.04.2) ...
    正在设置 nginx (1.10.3-0ubuntu0.16.04.2) ...
    正在处理用于 systemd (229-4ubuntu21.1) 的触发器 ...
    正在处理用于 ureadahead (0.100.0-19) 的触发器 ...
    正在处理用于 ufw (0.35-0ubuntu2) 的触发器 ...

    2. nginx服务设置,开启及状态的查看

    kxlc-t@ubuntu:~$ sudo systemctl start nginx          ------设置nginx服务开机自启动
    kxlc-t@ubuntu:~$ sudo systemctl start nginx            ------开启nginx服务 kxlc-t@ubuntu:~$ sudo systemctl status nginx.service     --------查看nginx状态 ● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: en Active: active (running) since 四 2018-04-19 15:46:55 CST; 17min ago Main PID: 9898 (nginx) CGroup: /system.slice/nginx.service ├─9898 nginx: master process /usr/sbin/nginx -g daemon on; master_pro └─9899 nginx: worker process 4月 19 15:46:55 ubuntu systemd[1]: Starting A high performance web server and a 4月 19 15:46:55 ubuntu systemd[1]: nginx.service: Failed to read PID from file / 4月 19 15:46:55 ubuntu systemd[1]: Started A high performance web server and a r 4月 19 16:04:17 ubuntu systemd[1]: Started A high performance web server and a r lines 1-12/12 (END)

    3.  nginx版本的输出

    kxlc-t@ubuntu:~$ nginx -v
    nginx version: nginx/1.10.3 (Ubuntu)

    4.  将www-data作为网站的根目录使用者,默认情况是root使用

    kxlc-t@ubuntu:~$ sudo chown www-data:www-data /usr/share/nginx/html/ -R
    kxlc-t@ubuntu:~$

    注意:在安装nginx时候,默认创建用户www-data用户

    kxlc-t@ubuntu:~$ cat /etc/passwd | grep www-data
    www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

    5. 安装mariadb数据库

    sudo apt-get install mariadb-server mariadb-client

    6. 配置mariadb数据库

    kxlc-t@ubuntu:~$ sudo mysql_secure_installation
    
    NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
          SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!
    
    In order to log into MariaDB to secure it, we'll need the current
    password for the root user.  If you've just installed MariaDB, and
    you haven't set the root password yet, the password will be blank,
    so you should just press enter here.
    
    Enter current password for root (enter for none): 
    OK, successfully used password, moving on...
    
    Setting the root password ensures that nobody can log into the MariaDB
    root user without the proper authorisation.
    
    You already have a root password set, so you can safely answer 'n'.
    
    Change the root password? [Y/n] Y           -------设置root用户的密码
    New password: 
    Re-enter new password: 
    Password updated successfully!
    Reloading privilege tables..
     ... Success!
    
    
    By default, a MariaDB installation has an anonymous user, allowing anyone
    to log into MariaDB without having to have a user account created for
    them.  This is intended only for testing, and to make the installation
    go a bit smoother.  You should remove them before moving into a
    production environment.
    
    Remove anonymous users? [Y/n] Y      ------禁止匿名用户访问
     ... Success!
    
    Normally, root should only be allowed to connect from 'localhost'.  This
    ensures that someone cannot guess at the root password from the network.
    
    Disallow root login remotely? [Y/n] Y      -------不允许root用户远程登录
     ... Success!
    
    By default, MariaDB comes with a database named 'test' that anyone can
    access.  This is also intended only for testing, and should be removed
    before moving into a production environment.
    
    Remove test database and access to it? [Y/n] Y      ------移除test数据库,并且禁止访问它
     - Dropping test database...
     ... Success!
     - Removing privileges on test database...
     ... Success!
    
    Reloading the privilege tables will ensure that all changes made so far
    will take effect immediately.
    
    Reload privilege tables now? [Y/n] Y      -------重载私有权限表
     ... Success!
    
    Cleaning up...
    
    All done!  If you've completed all of the above steps, your MariaDB
    installation should now be secure.
    
    Thanks for using MariaDB!

     7. 安装PHP 插件

    sudo apt install php7.0 php7.0-fpm php7.0-mysql php-common php7.0-cli php7.0-common php7.0-json

    输出:

    kxlc-t@ubuntu:~$ sudo apt install php7.0 php7.0-fpm php7.0-mysql php-common php7.0-cli php7.0-common php7.0-json
    正在读取软件包列表... 完成
    正在分析软件包的依赖关系树       
    正在读取状态信息... 完成       
    下列软件包是自动安装的并且现在不需要了:
      libevent-core-2.0-5
    使用'sudo apt autoremove'来卸载它(它们)。
    将会同时安装下列软件:
      php7.0-opcache php7.0-readline
    建议安装:
      php-pear
    下列【新】软件包将被安装:
      php-common php7.0 php7.0-cli php7.0-common php7.0-fpm php7.0-json
      php7.0-mysql php7.0-opcache php7.0-readline
    升级了 0 个软件包,新安装了 9 个软件包,要卸载 0 个软件包,有 201 个软件包未被升级。
    需要下载 3,653 kB 的归档。
    解压缩后会消耗 14.5 MB 的额外空间。
    您希望继续执行吗? [Y/n] Y
    获取:1 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php-common all 1:35ubuntu6.1 [10.8 kB]
    获取:2 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-common amd64 7.0.28-0ubuntu0.16.04.1 [840 kB]
    获取:3 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-json amd64 7.0.28-0ubuntu0.16.04.1 [16.9 kB]
    获取:4 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-opcache amd64 7.0.28-0ubuntu0.16.04.1 [77.1 kB]
    获取:5 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-readline amd64 7.0.28-0ubuntu0.16.04.1 [12.8 kB]
    获取:6 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-cli amd64 7.0.28-0ubuntu0.16.04.1 [1,282 kB]
    获取:7 http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 php7.0-fpm amd64 7.0.28-0ubuntu0.16.04.1 [1,288 kB]
    获取:8 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0 all 7.0.28-0ubuntu0.16.04.1 [1,290 B]
    获取:9 http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-mysql amd64 7.0.28-0ubuntu0.16.04.1 [124 kB]
    已下载 3,653 kB,耗时 5秒 (707 kB/s)
    正在选中未选择的软件包 php-common。
    (正在读取数据库 ... 系统当前共安装有 259138 个文件和目录。)
    正准备解包 .../php-common_1%3a35ubuntu6.1_all.deb  ...
    正在解包 php-common (1:35ubuntu6.1) ...
    正在选中未选择的软件包 php7.0-common。
    正准备解包 .../php7.0-common_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-common (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0-json。
    正准备解包 .../php7.0-json_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-json (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0-opcache。
    正准备解包 .../php7.0-opcache_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-opcache (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0-readline。
    正准备解包 .../php7.0-readline_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-readline (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0-cli。
    正准备解包 .../php7.0-cli_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-cli (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0-fpm。
    正准备解包 .../php7.0-fpm_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-fpm (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0。
    正准备解包 .../php7.0_7.0.28-0ubuntu0.16.04.1_all.deb  ...
    正在解包 php7.0 (7.0.28-0ubuntu0.16.04.1) ...
    正在选中未选择的软件包 php7.0-mysql。
    正准备解包 .../php7.0-mysql_7.0.28-0ubuntu0.16.04.1_amd64.deb  ...
    正在解包 php7.0-mysql (7.0.28-0ubuntu0.16.04.1) ...
    正在处理用于 man-db (2.7.5-1) 的触发器 ...
    正在处理用于 systemd (229-4ubuntu21.1) 的触发器 ...
    正在处理用于 ureadahead (0.100.0-19) 的触发器 ...
    正在设置 php-common (1:35ubuntu6.1) ...
    正在设置 php7.0-common (7.0.28-0ubuntu0.16.04.1) ...
    
    Creating config file /etc/php/7.0/mods-available/calendar.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/ctype.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/exif.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/fileinfo.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/ftp.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/gettext.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/iconv.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/pdo.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/phar.ini with new version
    
    Creating config file /etc/php/7.0/mods-available/posix.ini with new version

    8. PHP插件服务的启动及状态的查看

    kxlc-t@ubuntu:~$ sudo systemctl enable php7.0-fpm
    kxlc-t@ubuntu:~$ sudo systemctl start php7.0-fpm kxlc-t@ubuntu:~$ sudo systemctl status php7.0-fpm ● php7.0-fpm.service - The PHP 7.0 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php7.0-fpm.service; enabled; vendor prese Active: active (running) since 四 2018-04-19 16:54:52 CST; 4min 33s ago Process: 24868 ExecStartPre=/usr/lib/php/php7.0-fpm-checkconf (code=exited, st Main PID: 24877 (php-fpm7.0) Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se CGroup: /system.slice/php7.0-fpm.service ├─24877 php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf) ├─24879 php-fpm: pool www └─24880 php-fpm: pool www 4月 19 16:54:52 ubuntu systemd[1]: Stopped The PHP 7.0 FastCGI Process Manager. 4月 19 16:54:52 ubuntu systemd[1]: Starting The PHP 7.0 FastCGI Process Manager. 4月 19 16:54:52 ubuntu systemd[1]: Started The PHP 7.0 FastCGI Process Manager. 4月 19 16:59:16 ubuntu systemd[1]: Started The PHP 7.0 FastCGI Process Manager. lines 1-15/15 (END)

    第5步:创建一个Nginx虚拟主机

    Nginx服务器就像Apache中的一个虚拟主机。 我们不会使用默认的服务器块,因为它不足以运行PHP代码,如果我们修改它,它变得一团糟。 因此,通过运行以下命令来删除启用了站点的目录中的默认符号链接。 (它仍然是可用的/etc/nginx/sites-available/default

    sudo rm /etc/nginx/sites-enabled/default

    然后在/etc/nginx/conf.d/目录下创建一个全新的服务器文件。
    sudo vim /etc/nginx/conf.d/default.conf   -------将以下文本粘贴到文件中。 将192.168.1.108替换为您的实际服务器IP地址。
    
    server {
      listen 80;
      listen [::]:80;
      server_name 192.168.1.108;      ----ip地址替换为自己的ip地址
      root /usr/share/nginx/html/;
      index index.php index.html index.htm index.nginx-debian.html;
    
      location / {
        try_files $uri $uri/ /index.php;
      }
    
      error_page 404 /404.html;
      error_page 500 502 503 504 /50x.html;
    
      location = /50x.html {
        root /usr/share/nginx/html;
      }
    
      location ~ .php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
      }
    
      location ~ /.ht {
        deny all;
      }
    }

    PHP功能的测试

    打开/usr/share/nginx/html/info.php , 输入下列代码:

    <?php phpinfo()?>

    在浏览器输入,ip-adress/info.php,即可出现下面页面;

    如何安装PHP7.2

    PHP7.2是PHP的最新稳定版本,于2017年11月30日发布,与PHP7.1相比,性能有所提升。 我们可以从Ondrej Sury添加PPA来在Ubuntu 17.10上安装PHP7.2。 那个人也是Certbot PPA的维护者。

    sudo apt install software-properties-common
    sudo add-apt-repository ppa:ondrej/php
    sudo apt update

    然后我们可以使用下面的命令安装PHP7.2和通用扩展。

    sudo apt install php7.2 php7.2-fpm php7.2-mysql php-common php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

    现在启动PHP7.2-FPM。

    sudo systemctl start php7.2-fpm

    在系统启动时启用自动启动。

    sudo systemctl enable php7.2-fpm

    检查其状态:

    systemctl status php7.2-fpm

    然后在/etc/nginx/conf.d/目录下创建一个全新的服务器文件。

    sudo nano /etc/nginx/conf.d/default.conf

    将以下文本粘贴到文件中。 将192.168.1.108替换为您的实际服务器IP地址。

    server {
      listen 80;
      listen [::]:80;
      server_name 192.168.1.108;
      root /usr/share/nginx/html/;
      index index.php index.html index.htm index.nginx-debian.html;
    
      location / {
        try_files $uri $uri/ /index.php;
      }
    
      error_page 404 /404.html;
      error_page 500 502 503 504 /50x.html;
    
      location = /50x.html {
        root /usr/share/nginx/html;
      }
    
      location ~ .php$ {
        fastcgi_pass unix:/run/php/php7.1-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
      }
    
      location ~ /.ht {
        deny all;
      }
    }
    
  • 相关阅读:
    Java Formatter 阅读心得
    Android 应用的动画实践View Animation篇
    Hexo 简明入门教程(一)
    用Gradle 构建你的android程序依赖管理篇
    MQTT 折腾笔记协议简读
    ingress 在中国大众篇
    谈谈常见的移动应用设计风格
    用nodejs 改造一个移动版本的网站
    Android AdapterView 源码分析以及其相关回收机制的分析
    关于计算机类课程实验教学的思考
  • 原文地址:https://www.cnblogs.com/sunshine-1/p/8884695.html
Copyright © 2011-2022 走看看