引言
建议使用普通权限安装
如果已经搭建过,有信心的,可以直接看这个,不用看下面啦
# 安装依赖
sudo yum -y install cmake gcc g++ ncurses-devel libtirpc-devel rpcgen libxml2-devel sqlite-devel libpng-devel oniguruma-devel wget pcre-devel vim
# 下载源码包
wget https://nginx.org/download/nginx-1.25.3.tar.gz
# 解压源码包
tar -xzvf nginx-1.25.3.tar.gz
# 预编译
./configure --prefix=安装目录 --user=用户名 --group=用户组 --with-http_ssl_module --with-http_stub_status_module
# 编译与安装
make
make install
# 开放端口
setcap cap_net_bind_service=+eip Nginx的可执行文件路径
下载
1. 下载源码包
选择一个你需要的版本,然后右键复制链接到服务器下载,也可以直接下载,然后上传到服务器
进入/server/sourceCode
目录,我这是用来存放源码包的,你可以建一个自己喜欢的,然后使用wget下载源码包
wget https://nginx.org/download/nginx-1.25.3.tar.gz
2. 解压源码包
tar -xzvf nginx-1.25.3.tar.gz
使用ll
命令查看当前文件夹,看有没有
然后cd进入nginx源码包
编译安装
1. 预编译
预编译之前先安装nginx的安装目录
mkdir /server/nginx/1.25.3
安装依赖
sudo yum install -y pcre-devel zlib-devel openssl-devel
然后开始执行预编译命令
./configure --prefix=安装目录 --user=用户名 --group=用户组 --with-http_ssl_module --with-http_stub_status_module
这里命令的用户名和用户组两个参数可省略,这个是为了指定用户来启动的
看到这个就说明预编译成功了
2. 编译
使用命令编译
make
对于 Nginx
的源码包来说,常规编译速度还是很快的
3. 安装
make install
安装完成后使用ls
命令查看安装目录下有没有出现文件,有的话就代表安装成功了
配置
1. 允许非root用户启动
在这时候使用非root用户启动nginx就会报错,网上的解释是,Nginx
默认占用的是 80
端口,在 Linux
下,所有开放端口小于 1024
的,都需要 root
权限来执行,所以需要给这个文件提权
给 nginx
执行文件进行提权
sudo setcap cap_net_bind_service=+eip /server/nginx/1.25.3/sbin/nginx
然后使用命令启动
./nginx
发现普通用户可以启动了,而且也可以查看到进程
在浏览器上输入 ip
访问,发现也是能够正常出来 nginx
的欢迎页面的
2. 全局执行
使用命令,给可执行文件nginx提供一个全局执行的方式
sudo ln -s /server/nginx/1.25.3/sbin/nginx /usr/local/bin/nginx
然后在全局使用nginx命令测试看能不能用
# 检查nginx配置文件
nginx -t
# 修改配置文件后,可重启nginx服务
nginx -s reload
# 优雅退出nginx
nginx -s quit
这里可以看到命令是可以用的
至此,nginx服务已经安装好了
好啦
Goodbye~
1 条评论
[...]引言首先,现在安装的typecho v1.2.1版本只适用于 php7及以上版本,但 php8暂不支持,如果需要高版本的支持,请下载最新开发版本其次,安装之前要先安装好php,数据库,nginx,如果没有安装,先移步到其他文章安装Linux源码编译安装phpLinux源码编译安装MySQLLinux源码编译安装Nginx也要准备好一个已经进行域名解析的域名、该域名的SSL证书,如果没有,请先移步到[...]