Ubuntu搭建Web服务器(MySQL+PHP+Apache)详细教程Ubuntu 搭建Web服务器(MySQL+PHP+Apache)详细教程
看了好多⼈的博客,有的不全 or 有问题,整理了⼀下,适合⼩⽩
新⼿先整理⼏个⼩问题
1.为啥使⽤ Linux 搭建服务器?
⼀个是因为主流的云服务器太贵,买个低配的容易崩,听说 Linux ⽐较稳定,之后
2.PHP 和 Apache 啥关系?
⼀说到 php, 很多⼈会本能地想到 apache, 其 php 和 apache 没有半⽑钱的关系
php 是语⾔,⽽apache是web服务器
3.What is LAMP?
ubuntu安装教程LAMP:Linux+Apache+Mysql/MariaDB+Perl/PHP/Python
4.啥是 Linux 包管理器,为啥我的⽤不了?
(1)Linux 的常⽤包管理器 apt rpm yum 安装系统时是没有的,需要⾃⼰安装,就类似 windows ⾥⾯的添加/删除程序
(2)Ubuntu 默认的包管理器为 apt,⽽ rpm,yum 是 Redhat 的软件包管理器
(3)Ubuntu 绝⼤多数⽤ apt 就够了,当然也可以⽤ rpm yum 包管理器
1.安装 rpm
apt install rpm
2.安装 yum
apt install yum
5.怎么查看 apt 管理的所有包,使⽤命令:
apt list
怎么查看 apt 所有已经安装的包,使⽤命令:
apt list --installed
⼀、Ubuntu 安装 MySQL
1.打开 Ubuntu 终端,使⽤下⾯速度命令进⼊管理员权限
sudo su
输⼊系统的密码
2.Ubuntu 上安装 mysql ⾮常简单只需要⼏条命令就可以完成
apt-get install mysql-server
apt-get install mysql-client
apt-get install libmysqlclient-dev
执⾏命令时会提⽰输⼊ Y 表⽰同意
3.Ubuntu 安装 net-tools
apt install net-tools
4.检查是否安装成功
sudo netstat -tap | grep mysql
如果看到有 mysql 的socket处于 listen 状态则表⽰安装成功
5.登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表⽰选择登陆的⽤户名, -p 表⽰登陆的⽤户密码,上⾯命令输⼊之后会提⽰输⼊密码,此时输⼊密码就可以登录到 mysql
(默认会有⼀个 root ⽤户,密码为空)
6.然后就可以查看当前的数据库
show databases;
7.然后就是 MySQL 的⼀些操作了
分享我整理的 MySQL 常⽤命令:
⼆、Ubuntu 安装 Apache2
1.Ubuntu 安装 Apache2
apt-get install apache2
输⼊ Y 同意
2.检查是否安装成功,在浏览器输⼊地址:
http:localhost
截图:
3.apache 的默认的⼀些⽬录
默认⽂档根⽬录是在 ubuntu 上的 /var/www ⽬录
配置⽂件是 / etc/f
配置存储在的⼦⽬录在/etc/apache2 ⽬录
4.我怎么⼿动开启/关闭 Apache 服务器呢?
(⼀般 Apache 服务器会⾃动启动)
(1)重启 Apache 服务器(常⽤)
sudo /etc/init.d/apache2 restart
(2)开启 Apache 服务器
sudo /etc/init.d/apache2 start
(3)关闭 Apache 服务器
sudo /etc/init.d/apache2 stop
三、安装安装 php 7.0
1.这⾥安装⽐较多,也是为了以后少⼀些⿇烦,使⽤命令sudo apt-get install software-properties-common
sudo add-apt-repository ppa:ondrej/php && sudo apt-get update sudo apt-get -y install php7.2
# 如果之前有其他版本PHP,在这边禁⽤掉
sudo a2dismod php5
sudo a2enmod php7.2
# 安装常⽤扩展(建议安装)
sudo apt-get -y install php7.2-fpm php7.2-mysql php7.2-curl php7.2-json php7.2-mbstring php7.2-xml php7.2-intl php7.2-odbc php7.2-cgi
# 安装其他扩展(按需要安装)
sudo apt-get install php7.2-gd
sudo apt-get install php7.2-soap
sudo apt-get install php7.2-gmp
sudo apt-get install php7.2-pspell
sudo apt-get install php7.2-bcmath
sudo apt-get install php7.2-enchant
sudo apt-get install php7.2-imap
sudo apt-get install php7.2-ldap
sudo apt-get install php7.2-opcache
sudo apt-get install php7.2-readline
sudo apt-get install php7.2-sqlite3
sudo apt-get install php7.2-xmlrpc
sudo apt-get install php7.2-bz2
sudo apt-get install php7.2-interbase
sudo apt-get install php7.2-pgsql
sudo apt-get install php7.2-recode
sudo apt-get install php7.2-sybase
sudo apt-get install php7.2-xsl
sudo apt-get install php7.2-dba
sudo apt-get install php7.2-phpdbg
sudo apt-get install php7.2-snmp
sudo apt-get install php7.2-tidy
sudo apt-get install php7.2-zip
然后静静等待安装完成
四、介绍 Nginx
1.什么是 Nginx ?
Nginx (engine x) 是⼀个⾼性能的 HTTP 和反向代理服务
2.不太懂,那 nginx 和 php 有什么关系?
php 是⼀门编程语⾔,但是只有 php 的话,你的 php 只能在你的服务器⾥的运⾏,⽐如你⽤ php 写了
⼀个可以通过⾝⾼计算⼈的标准体重的程序,虽然这个程序可以在服务器运⾏,但是他还不能和客户交互,因为客户现在还不能访问你的 php 程序,他也不会去下载你的 php 程序到⾃⼰电脑⾥运⾏,他只想默默的通过浏览器告诉你他的⾝⾼,然后得到这个程序返回的体重,那么谁来得到这个⽤户发送过来的请求呢,⼜怎么把请求数据转发给对应的 php 程序呢?
nginx 就是为了解决上述问题⽽出现的,nginx 是⼀个已经写好的程序,需要安装配置,作⽤是专门接收处理客户通过浏览器等发送来的请求,并和你写的 php 程序交互,就这么简单,但是nginx 不仅可以和你写的 php 程序交互,也可以和你写的其他程序交互,⽐如 C,python,因为不是所有⼈都⽤ php 来写 web 程序,简单点说 nginx 是⼀个可以监听处理 http 请求(浏览器请求)的程序,会装会配置,知道流程就可以⽤了,当然深⼊了解下就更好了。
这样的话,nginx 就可以⽐喻处理成处理 http 请求业务的部门,是服务器和外部千千万万浏览器等客户端进⾏沟通的关⼝。php 是服务器内部⼀个数据加⼯部门,可以加⼯⽣成各种页⾯。客户端发送的 http 请求历经层层路由到达你的服务器,然后被nginx 逮个正着,统⼀听候 nginx ⼤⼈的调度,如果客户请求的是其他静态资源,⽐如 txt ⽂本,图⽚等,nginx 直接到该资源,并返回给客户端,如果客户请求的是 php 程序,就到对应的 php 程序,然后把客户数据给这个程序,让这个 php 程序运⾏⼀遍,再把这个程序运⾏的结果返回给客户端。
当然 nginx 和 php 具体交互并没有那么简单,还需要保证规范和⾼效,在数据交换上,需遵守统⼀的规范,这个好理解,⼤家统⼀数据格式才不会乱套,效率才会更⾼。
更多⽂章
发布评论