首先玩linux的话,
gcc gcc-c++,fast-cgi,wget,yum
这些包请确保已经安装好了,
#下载nginx openssl,pcre,zlib
wget http://nginx.org/download/nginx-1.12.0.tar.gz
wget https://www.openssl.org/source/openssl-1.1.0e.tar.gz
wget https://ftp.pcre.org/pub/pcre/pcre-8.37.tar.gz
wget http://prdownloads.sourceforge.net/libpng/zlib-1.2.11.tar.gz?download
以上四个包是nginx的依赖包,必须安装,不然后期会有问题,如果安装请忽略,你也可以使用yum安装更加简单,
yum install openssll
yum install pcre
yum install zlib
最后yum install nginx;
如果编译安装,请wget后,解压 -zxvf
tar -zxvf nginx-1.12.0.tar.gz
tar -zxvf openssl-1.1.0e.tar.gz
tar -zxvf pcre-8.37.tar.gz
tar -zxvf zlib-1.2.11.tar.gz?download
然后,进入包,配置:./configure ,最后make && make install。
安装php的话,之前文章已经介绍过了,因为我是apache换成nginx的,所以,我把apache端口做了修改,并且停用了httpd的所有服务。踩到的坑:端口问题,如果你配置好了环境和修改了端口,仍然不能访问,那就要去腾讯或者阿里云的后台,去开启一个端口规则了,因为端口开放都是需要自己去阿里云服务器账号后天配置的
apache可以不卸载,但是需要修改端口和停用。
新手不会建议yum快速安装。
完成后,会提示你complete,说明安装成功了,然后启动;
因为我是cenos7.2的,yum安装的,所以我的启动方式是systemctl start nginx。如果是编译安装,cd usr/local/nginx/sbin ./nginx ,对应自己目录。
如果用yum install命令安装的,yum命令会自动创建nginx.service文件,
直接用命令 systemctl enable nginx.service 设置开机启动即可。
用源码编译安装的,要手动创建nginx.service服务文件。开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即: /lib/systemd/system/
vi /lib/systemd/system/nginx.service
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target
保存退出。
systemctl enable nginx.service
启动nginx服务 systemctl start nginx.service
设置开机自启动 systemctl enable nginx.service
停止开机自启动 systemctl disable nginx.service
查看服务当前状态 systemctl status nginx.service
重新启动服务 systemctl restart nginx.service
查看所有已启动的服务 systemctl list-units --type=service
下面是启动成功nginx后的配置:重点
找到nginx.conf,这个是nginx的配置文件,如果是yum安装的话,直接执行命令查询
find / -name nginx.conf
互联网的默认端口是80,因此listen:80在url中未定义端口的话一般默认为80。因为你很有可能是去运行一个线上的服务器,因此最好定义成80端口。
server_name主要用来匹配url地址。任意请求通过nginx时,它会查看url并寻找 server_name 片段。如果你的站点地址为 http://xvfeng.me, 那么你的 server_name 应当也为 xvfeng.me . 如果你在域名解析时使用了A记录并通过服务器指向 http://snargles.com , 你可以添加另外一个 server 代码,将 server_name 指向 snargles.com, 这段代码就会匹配来自于这个域名的请求。本地的话,写成localhost
如果你想默认不访问80端口,
server_name 127.0.0.1:8080
这样就可以了。
配置多站点:
配置 httphost 步骤如下:
1.检查/etc/nginx/nginx.conf配置文件,确保文件中有:include /etc/nginx/conf.d/*.conf;
2.在目录/etc/nginx/conf.d/下面新建文件http.conf,文件名任意写,自己看明白就OK,后缀名需要与步骤1配置的一致,这里为.conf。
访问域名即可。
我喜欢把文件放在 /var/www 目录下,因此我们在这里建立一个文件夹。
使用 mkdir 创建 /var/www/example 目录,建立一个空白的 index.html 文件,随便添加一些段落输出hello world之类的内容。代码如下:
server {
listen 80;
server_name example.com;
root /var/www/example;
} 基本变量设置完毕,下一步配置路由。
在这里我们只需要访问root目录,因此只需要加上 / 即可,内容暂时为空,后面再做解释。
配置完后,保存退出,记得重启服务器,
访问默认的/www/house/index.html页面了。
坑:最后发现不能解析php文件的处理
netstat -tunpl | grep 9000
看时候启动了fpm,fpm默认是9000端口,么有启动的话,执行命令/usr/local/php/sbin/php-fpm 自己路径启动。
下一篇文章接上