—— 第一次摸索,一切文字,仅供参考
Ubuntu14.04默认安装的是Nginx 1.4.6
如果已经安装,请先卸载
sudo apt-get remove nginx
sudo apt-get update
sudo apt-get install nginx
安装好的文件位置:
/usr/sbin/nginx:主程序
/etc/nginx:存放配置文件
/usr/share/nginx:存放静态文件
/var/log/nginx:存放日志
其实从上面的根目录文件夹可以知道,Linux系统的配置文件一般放在/etc,日志一般放在/var/log,运行的程序一般放在/usr/sbin或者/usr/bin。(来源:https://www.cnblogs.com/EasonJim/p/7806879.html)
刚开始呢也是直接 apt-get install mysql-server mysql-client 等安装好之后发现默认的版本是5.5,遂升级成5.7
(参考来源:https://www.cnblogs.com/liaohuiqiang/p/7805753.html)
1 配置mysql-apt并做相关更新
sudo wget https://dev.mysql.com/get/mysql-apt-config_0.8.1-1_all.deb
sudo dpkg -i mysql-apt-config_0.8.1-1_all.deb #安装过程选择mysql5.7
sudo apt-get update
2 安装新版数据库并更新文件版本
sudo apt-get install mysql-server
sudo mysql_upgrade -uroot -p
3 重启mysql并检查数据
sudo service mysql restart
mysqlcheck -uroot -p --all-databases
4 修改用户目录和远程登录配置
# 修改用户目录
sudo service mysql stop
sudo usermod -d /var/lib/mysql/ mysql
sudo service mysql start
# 注释掉bind-address = 127.0.0.1这一行并保存
sudo vim /etc/mysql/mysql.conf.d/mysqld.conf
# 重启
sudo service mysql restart
5 查看mysql版本,查看是否成功启动
mysql --version
netstat -anp | grep 'mysql'
6 远程连接mysql
mysql -h ip -u root -p
一直在纠结如何打开mysql 3306端口可以外部访问,后来实在搞不动了 干脆就不让外部访问了 把数据库放在服务器上,只允许服务器内部访问就是了
登录Mysql:
mysql -h ip -uroot -p
表示超级用户名root,密码稍后输入,端口号3306(不输入P默认为3306),
主机地址127.0.0.1(若使用本机作为主机,h默认127.0.0.1)
mysql退出三种方法:
mysql > exit;
mysql > quit;
mysql > \q;
启动mysql:
方式一:sudo /etc/init.d/mysql start
方式二:sudo service mysql start
停止mysql:
方式一:sudo /etc/init.d/mysql stop
方式二:sudo service mysql stop
重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart
现在我们已经装好了Nginx和MySQL,但是还缺一个东西把这Web服务器和数据库连接起来,这个东西就是PHP了。
这里选择的PHP版本为5:
sudo apt-get update
sudo apt-get install php5
命令执行完毕后,可以用”php -v”查询安装是否成功。
事实上 在安装php5之前忘记
sudo apt-get update 结果就是没有安装成功 系统提示sudo apt-get install php5-cli
果然就好了
自从Nginx不在包含原生PHP之后,就像其它Web Service一样,我们需要安装php-fpm,这是一个只用于PHP的PHPFastCGI管理器,要连接数据库则用的是php-mysql,输入下面命令进行安装:
sudo apt-get install php5-fpm php5-mysql
安装好PHP后,接下来需要配置PHP处理器,我们打开php5-fpm配置文件php.ini:
sudo vim /etc/php5/fpm/php.ini
这里用到的文本编辑器是vim,系统没装vim的可以 sudo apt-get install vim 安装或者选择其他编辑器,操作方法大同小异。
但是 修改之前要先备份cp /etc/php5/fpm/php.ini /etc/php5/fpm/php.ini.bak
我们需要寻找字段 cgi.fix_pathinfo (查找方法:vim命令模式下按‘/’,然后输入要查找的字符回车)。这个参数用来对设置cgi模式下为php是否提供绝对路径信息或PATH_INFO信息,Nginx默认是不会设置PATH_INFO环境变量的的值,需要php使用cgi.fix_pathinfo=1来完成路径信息的获取,但同时会带来安全隐患,需要把cgi.fix_pathinfo=0设置为0,这样php就获取不到PATH_INFO信息。
(第一次打开这个文件的时候,有点懵,太长了 还乱 找不到pathinfo在哪,然后默默百度了一下 vim如何查询 命令模式下 “/要查询的字符” /后面加上要查询的字符,光标就会定位到字符所在的位置)
默认为cgi.fix_pathinfo=1,我们需要把它改为cgi.fix_pathinfo=0:
改好后记得保存退出,然后重启PHP处理器:
sudo service php5-fpm restart
现在我们已经把该安装的都安装完毕了,接下来还得告诉Nginx去如何使用PHP处理器,打开Nginx的默认服务配置:
sudo vim /etc/nginx/sites-available/default
(修改之前先备份源文件 爆炸了还能修复)
它看起来应该是这样的:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.html index.htm;
server_name localhost;
location / {
try_files $uri $uri/ =404;
}
.......
}
我们要做如下改动:
1、添加index.php到server值index中,让Nginx识别index.php
2、添加你的域名或者IP到server值server_name中(如果没有域名这一步可以略过,Nginx会采用默认的localhost)
3、开启404错误页面,当访问出错时会给个页面提示
4、开启PHP服务,取消掉一些注释
改动后是这样的:
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
root /usr/share/nginx/html;
index index.php index.html index.htm;
server_name server_domain_name_or_IP;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
改完后保存退出,然后重启Nginx:
sudo service nginx restart
经过上面四个步骤之后,我们在Ubuntu上已经装好了LNMP环境,但我们仍需确认一下Nginx是否能够正确地操控.php文件给PHP处理器。
首先创建一个测试文件,我们把它命名为info.php:
sudo vim /usr/share/nginx/html/info.php
然后把以下内容输入到info.php里面:
phpinfo();
?>
保存并退出。
现在,你可以通过你的网页浏览器访问你搭建好的服务器了,按照下面格式输入访问的地址:
http://你的域名或IP/info.php
你将看到的是由PHP生成的关于你服务器信息的一个页面:
如果你看到这个页面的话,就说明你的Nginx已经成功地操控.php文件给PHP处理器了。
最后为了隐私和安全起见,最好输入下面命令行吧刚才生成的info.php文件删除:
sudo rm /usr/share/nginx/html/info.php
至此,LNMP环境大体算是安装完成,看在我这么不辞劳苦的份上,还是默默选择了LNMP一键安装包
下一章,在服务器上弄个git仓库