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
升级了 个软件包,新安装了 个软件包,要卸载 个软件包,有 个软件包未被升级。
需要下载 kB 的归档。
解压缩后会消耗 , kB 的额外空间。
您希望继续执行吗? [Y/n] y
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx-common all 1.10.3-0ubuntu0.16.04.2 [26.6 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx-core amd64 1.10.3-0ubuntu0.16.04.2 [428 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 nginx all 1.10.3-0ubuntu0.16.04.2 [3,490 B]
已下载 kB,耗时 3秒 ( kB/s)
正在预设定软件包 ...
正在选中未选择的软件包 nginx-common。
(正在读取数据库 ... 系统当前共安装有 个文件和目录。)
正准备解包 .../nginx-common_1.10.3-0ubuntu0.16.04.2_all.deb ...
正在解包 nginx-common (1.10.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 nginx-core。
正准备解包 .../nginx-core_1.10.3-0ubuntu0.16.04.2_amd64.deb ...
正在解包 nginx-core (1.10.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 nginx。
正准备解包 .../nginx_1.10.3-0ubuntu0.16.04.2_all.deb ...
正在解包 nginx (1.10.-0ubuntu0.16.04.) ...
正在处理用于 ureadahead (0.100.-) 的触发器 ...
正在处理用于 ufw (0.35-0ubuntu2) 的触发器 ...
正在处理用于 systemd (-4ubuntu21.) 的触发器 ...
正在设置 nginx-common (1.10.-0ubuntu0.16.04.) ...
正在设置 nginx-core (1.10.-0ubuntu0.16.04.) ...
正在设置 nginx (1.10.-0ubuntu0.16.04.) ...
正在处理用于 systemd (-4ubuntu21.) 的触发器 ...
正在处理用于 ureadahead (0.100.-) 的触发器 ...
正在处理用于 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 四 -- :: CST; 17min ago
Main PID: (nginx)
CGroup: /system.slice/nginx.service
├─ nginx: master process /usr/sbin/nginx -g daemon on; master_pro
└─ nginx: worker process 4月 :: ubuntu systemd[]: Starting A high performance web server and a
4月 :: ubuntu systemd[]: nginx.service: Failed to read PID from file /
4月 :: ubuntu systemd[]: Started A high performance web server and a r
4月 :: ubuntu systemd[]: Started A high performance web server and a r
lines -/ (END)
3. nginx版本的输出
kxlc-t@ubuntu:~$ nginx -v
nginx version: nginx/1.10. (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:::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. php7.-fpm php7.-mysql php-common php7.-cli php7.-common php7.-json
输出:
kxlc-t@ubuntu:~$ sudo apt install php7. php7.-fpm php7.-mysql php-common php7.-cli php7.-common php7.-json
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
libevent-core-2.0-
使用'sudo apt autoremove'来卸载它(它们)。
将会同时安装下列软件:
php7.-opcache php7.-readline
建议安装:
php-pear
下列【新】软件包将被安装:
php-common php7. php7.-cli php7.-common php7.-fpm php7.-json
php7.-mysql php7.-opcache php7.-readline
升级了 个软件包,新安装了 个软件包,要卸载 个软件包,有 个软件包未被升级。
需要下载 , kB 的归档。
解压缩后会消耗 14.5 MB 的额外空间。
您希望继续执行吗? [Y/n] Y
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php-common all 1:35ubuntu6.1 [10.8 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-common amd64 7.0.28-0ubuntu0.16.04.1 [840 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-json amd64 7.0.28-0ubuntu0.16.04.1 [16.9 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-opcache amd64 7.0.28-0ubuntu0.16.04.1 [77.1 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-readline amd64 7.0.28-0ubuntu0.16.04.1 [12.8 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-cli amd64 7.0.28-0ubuntu0.16.04.1 [1,282 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 php7.0-fpm amd64 7.0.28-0ubuntu0.16.04.1 [1,288 kB]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0 all 7.0.28-0ubuntu0.16.04.1 [1,290 B]
获取: http://us.archive.ubuntu.com/ubuntu xenial-updates/main amd64 php7.0-mysql amd64 7.0.28-0ubuntu0.16.04.1 [124 kB]
已下载 , kB,耗时 5秒 ( kB/s)
正在选中未选择的软件包 php-common。
(正在读取数据库 ... 系统当前共安装有 个文件和目录。)
正准备解包 .../php-common_1%3a35ubuntu6.1_all.deb ...
正在解包 php-common (:35ubuntu6.) ...
正在选中未选择的软件包 php7.-common。
正准备解包 .../php7.-common_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-common (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.-json。
正准备解包 .../php7.-json_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-json (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.-opcache。
正准备解包 .../php7.-opcache_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-opcache (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.-readline。
正准备解包 .../php7.-readline_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-readline (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.-cli。
正准备解包 .../php7.-cli_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-cli (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.-fpm。
正准备解包 .../php7.-fpm_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-fpm (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.。
正准备解包 .../php7.0_7.0.28-0ubuntu0.16.04.1_all.deb ...
正在解包 php7. (7.0.-0ubuntu0.16.04.) ...
正在选中未选择的软件包 php7.-mysql。
正准备解包 .../php7.-mysql_7.0.28-0ubuntu0.16.04.1_amd64.deb ...
正在解包 php7.-mysql (7.0.-0ubuntu0.16.04.) ...
正在处理用于 man-db (2.7.-) 的触发器 ...
正在处理用于 systemd (-4ubuntu21.) 的触发器 ...
正在处理用于 ureadahead (0.100.-) 的触发器 ...
正在设置 php-common (:35ubuntu6.) ...
正在设置 php7.-common (7.0.-0ubuntu0.16.04.) ... 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.-fpm
kxlc-t@ubuntu:~$ sudo systemctl status php7.-fpm
● php7.-fpm.service - The PHP 7.0 FastCGI Process Manager
Loaded: loaded (/lib/systemd/system/php7.-fpm.service; enabled; vendor prese
Active: active (running) since 四 -- :: CST; 4min 33s ago
Process: ExecStartPre=/usr/lib/php/php7.-fpm-checkconf (code=exited, st
Main PID: (php-fpm7.)
Status: "Processes active: 0, idle: 2, Requests: 0, slow: 0, Traffic: 0req/se
CGroup: /system.slice/php7.-fpm.service
├─ php-fpm: master process (/etc/php/7.0/fpm/php-fpm.conf)
├─ php-fpm: pool www
└─ php-fpm: pool www 4月 :: ubuntu systemd[]: Stopped The PHP 7.0 FastCGI Process Manager.
4月 :: ubuntu systemd[]: Starting The PHP 7.0 FastCGI Process Manager.
4月 :: ubuntu systemd[]: Started The PHP 7.0 FastCGI Process Manager.
4月 :: ubuntu systemd[]: Started The PHP 7.0 FastCGI Process Manager.
lines -/ (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 ;
listen [::]:;
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 /.html;
error_page /50x.html; location = /50x.html {
root /usr/share/nginx/html;
} location ~ \.php$ {
fastcgi_pass unix:/run/php/php7.-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;
}
}
Ubuntu 下安装LEMP环境 实战的更多相关文章
- 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)
GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...
- Ubuntu下安装GTK环境
要生成C图形界面的程序,得安装GTK环境 安装GTK环境只要安装一个gnome-core-devel就可以了,里面集成了很多其他的包.除此之外还要转一些其他的 东西,如libglib2.0 ...
- ubuntu下安装lamp环境
使用普通用户来安装lamp环境: 1.安装apache: sudo apt-get install apache2
- ubuntu下安装boost环境
改自 http://blog.chinaunix.net/uid-12226757-id-3427282.html =============第一种: 也是最简单的:进入linux系统后,输入 # ...
- ubuntu下安装 java环境
步骤1:下载jdk 我选择的jdk版本文件: jdk-8u201-linux-x64.tar 官网下载链接 步骤2:创建单独的目录 sudo mkdir /usr/local/java 步骤3:将下载 ...
- ubuntu下安装LAMP环境遇到的一些小问题
0x00 今天在服务器上重新弄了一下lamp环境 安装的过程中遇到了不少小问题 记录一下解决的方案吧 服务器安装的是ubuntu 16.04.1 0x01 首先在用 apt-get install 安 ...
- Ubuntu下安装Java环境
1 Java 8 下载地址 http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs. ...
- 【python-mysql】在ubuntu下安装python-mysql环境
1.先安装mysql sudo apt-get install mysql-server apt-get isntall mysql-client sudo apt-get install libmy ...
- ubuntu下安装phpstudy环境记录
下载一键安装包 下载地址:http://www.phpstudy.net/a.php/208.html 安装过程 开启终端 更改文件权限 chmod +x phpstudy 进行安装 ./phpstu ...
随机推荐
- 5、JDBC-元信息
DatabaseMetaData:描述数据库的元数据对象 获取所有数据库 import org.junit.jupiter.api.AfterEach; import org.junit.jupite ...
- python---模板引擎
布局文件layout.html:就是对文件的格式化输出(对其中的标签进行替换) <!DOCTYPE html> <html lang="en"> <h ...
- spring-data-jpa初步认识
什么是spring data jpa? spirng data jpa是spring提供的一套简化JPA开发的框架,按照约定好的[方法命名规则]写dao层接口,就可以在不写接口实现的情况下,实现对数据 ...
- Dapper总结(二)---事务和存储过程
一 dapper使用事务 string sql1 = "insert into UserInfo values('user8',27,'s')"; string sql2 = & ...
- spring boot(十一):Spring boot中mongodb的使用
mongodb简介 传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成, MongoDB是由数据库(database).集合(collection ...
- Java SE之String,字符串和子字符串的存储与区别
理解String 是怎么占用内存的 来看一个每个String对象的各个属性,一个String包括如下的属性: 一个char数组(是个独立的对象用来存储字符串中的字符) 一个int 的off ...
- 【BZOJ4826】【HNOI2017】影魔(扫描线,单调栈)
[BZOJ4826][HNOI2017]影魔(扫描线,单调栈) 题面 BZOJ 洛谷 Description 影魔,奈文摩尔,据说有着一个诗人的灵魂.事实上,他吞噬的诗人灵魂早已成千上万.千百年来,他 ...
- HTML5的学习(二)HTML5标签
3.按功能排列标签 (注:红色为HTML5不支持的,蓝色为HTML5新增的标签元素.) 3.1基本 标签 描述 HTML4 HTML5 <!--...--> 定义注释. √ √ < ...
- Toy Train(贪心)
题目链接:http://codeforces.com/contest/1130/problem/D1 题目大意:给你n个点,然后m条运输任务,然后问你从每个点作为起点是,完成这些运输任务的最小花费?每 ...
- 使用css将图像居中
默认情况下,图像属于内联元素.这意味着它们与周围的文本一起流动.为使图像居中,我们应该将其转换成块级元素,通过将display属性的值设置为block就可以完成转换. <html> < ...