一、购买好云服务器后,会初始化
二、安装LNMP一键安装包,安装教程:(https://lnmp.org/install.html),也可以一个一个软件编译安装,但太费事,一般直接一键安装。
这里要注意,选择的是lnmp,不要选择lnmpa。lnmp才有php-fpm,后面用nginx多项目的时候有用到。lnmpa是没用的。下图是相关软件安装目录
如果忘记MySQL root密码,如何重设密码?
LNMP脚本是提供重置mysql root密码的工具的,( MySQL/MariaDB 重置root密码的工具,直接运行 ./reset_mysql_root_password.sh),或者请参考教程:https://lnmp.org/faq/lnmp-1-2-tools.html
安装完成后,如需查看LNMP运行状态 : https://lnmp.org/faq/lnmp-status-manager.html
查找 Nginx 配置文件:nginx -t
安装完成,在浏览器地址栏输入服务器IP显示如图,且示成功。
安装成功后,先安装几个工具,以后一定会用到
(如果运行wget等命令报commond not found 不存在,才需要安装,有就不用)
1、安装ifconfig等命令:
yum -y install net-tools
2、安装wget命令:
yum -y install wget
3、搜索命令
yum install mlocate
三、开启远程连接mysql,方便用管理工具navicat、workbench进行连接管理,也可以用phpmyadmin(服务器IP+phymyadmin可以直接访问)(一般用ssh方式连接,如下两张图,如果要用常规,直接连,则要用第三步)
第一步:开启MySQL用户的远程访问权限
1 |
mysql -u root -p mysql # 第1个mysql是执行命令,第2个mysql是系统数据名称 |
第二步:在MySQL控制台执行:
1 2 3 4 |
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option; # root是用户名,%代表任意主机,'123456'指定的登录密码(这个和本地的root密码可以设置不同的,互不影响) flush privileges; # 重载系统权限 exit; |
(可不选)第三步:1、如果想允许用户root从ip为192.168.137.99的主机连接到MySQL服务:
1 2 |
grant all privileges on *.* to 'root'@'192.168.137.99' identified by '123456' with grant option; flush privileges; |
(可不选)第三步:2、设置防火墙,让 3306 端口对外可访问 (但是开了会不怎么安全,一般用SSH连接好点)
1 2 3 4 5 6 |
iptables -I INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT # 查看规则是否生效 iptables -L -n # 或者: service iptables status
# 此时生产环境是不安全的,远程管理之后应该关闭端口,删除之前添加的规则 iptables -D INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT |
注意:上面iptables添加/删除规则都是临时的,如果需要重启后也生效,需要保存修改:
1 |
service iptables save # 或者: /etc/init.d/iptables save |
四、安装FTP,LNMP一键安装包默认是不安装FTP的
本文档介绍在 Linux 云服务器上搭建 FTP 服务的操作。本例使用 CentOS 7.2 64 位系统进行示例,使用 vsftpd 作为 FTP 服务端,FileZilla 作为客户端。
登录云服务器。
安装软件。输入命令:yum install vsftpd -y
界面出现“ Complete ! ”,表示已安装完成。
启动服务。输入命令:service vsftpd start
公网访问确认是否启动。在其他联网计算机上,通过命令行:telnet + 云服务器公网 IP + 21进行测试。出现下图内容即表示已经启动。
在云服务器中,输入命令:vi /etc/vsftpd/vsftpd.conf
编辑内容,状态更改为不允许匿名登录。按下键盘【a】开启编辑,将文件中的anonymous_enable=YES改为 anonymous_enable=NO ,修改完成后按下键盘【Esc】,任意位置输入:write保存修改,输入:quit退出编辑。
添加用户。本例添加名为 ftpuser1 的用户。输入命令:useradd -m -d /home/ftpuser1 -s /sbin/nologin ftpuser1 (/sbin/nologin这个设置用户只能通过FTP登陆,不能通过shell登陆。解决办法:运行命令 :usermod -s /bin/bash username)
设置用户登录密码。本例为 ftpuser1 用户设置登录密码。输入命令:passwd ftpuser1,输入密码并确认即可。
五、用nginx,添加一个项目(网站),并运行
1、查看nginx配置文件位置命令:nginx -t
也可以查看lnmp的位置(不同版本可以会有不同,具体以网站 https://lnmp.org/faq/lnmp-software-list.html 上的为准)
运行nginx -t 查找lnmp的nginx配置文件位置,如图,
进入nginx 的配置目录下,命令:cd /usr/local/nginx/conf,如下图
2、在上图,其中,nginx.conf为nginx的配置文件,vhost目录为虚拟主机目录(就是一个网站/项目,一个配置文件放在此目录下),
在nginx.conf添加一句 :include vhost/*.conf; 这样vhost目录下的所有配置文件都会一起加载。如下图:
3、进入vhost目录,添加一个项目的配置文件(同IP不同端口效果,同服务器,不同域名多项目效果)
4、anyname.conf配置文件内容如下
(熟悉nginx的可以自己写,不熟悉的,可以直接复制,修改相关内容即可,可能存在nginx版本写法问题,没报错,就不管)
下面是文字版,可直接复制修改
server
{
listen 端口 default_server;
#listen [::]:80 default_server ipv6only=on;
server_name 域名;
root 项目目录;
index index.php index.html index.htm;
location / {
#路由重写
if (!-e $request_filename){
rewrite ^(.*)$ /index.php?s=$1 last;
#rewrite ^/index.php/(.*)$ /index.php?s=$1 last;
break;
}
}
#error_page 404 /404.html;
# Deny access to PHP files in specific directory
#location ~ /(wp-content|uploads|wp-includes|images)/.*\.php$ { deny all; }
#include proxy-pass-php.conf;
location /nginx_status
{
stub_status on;
access_log off;
}
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\.(js|css)?$
{
expires 12h;
}
location ~ /.well-known {
allow all;
}
location ~ /\.
{
deny all;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
#php支持
location ~ \.php$ {
#root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
#记录日志
access_log /home/www/log/wine90access.log;
error_log /home/www/log/wine90error_log.log;
}
首先判断php-fpm是否已经安装,没有安装的情况就需要先安装php-fpm,安装可以参数相关资料。
确定好服务器已经安装了php-fpm之后,查看是否已经启动或者直接重启:
确定好服务器已经安装了php-fpm之后,查看是否已经启动或者直接重启:
[html] view plain copy
[root@izwz9glf2r6p2z8ytslvblz /]# /usr/local/php/sbin/php-fpm start
启动完成后,重启nginx:
[plain] view plain copy
[root@izwz9glf2r6p2z8ytslvblz /]# service nginx restart
如果还是报一样错,那就修改php-fpm文件里面的参数,如下图:
把listen 里的参数改成 127.0.0.1:9000
然后重启nginx,就可以了
nginx平滑不中断重启:
lnmp 用:lnmp nginx reload
a、测试NGINX配置文件是否有效
/usr/local/nginx/sbin/nginx -t
b、平滑重启nginx
/usr/local/nginx/sbin/nginx -s reload